zoukankan      html  css  js  c++  java
  • 基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例

    QuickStart

    基于SpringCloud体系实现,简单购物流程实现,满足基本功能:注册、登录、商品列表展示、商品详情展示、订单创建、详情查看、订单支付、库存更新等等。

    每个业务服务采用独立的MYSQL数据库,初期考虑用到如下组件:

    1. 列表内容
    2. 服务注册、发现: eureka
    3. 配置管理:spring config , spring security
    4. 集群容错: hystrix(待实现)
    5. API网关: zuul(待实现)
    6. 服务负载:feign+ribbon
    7. api文档输出:swagger2
    8. 代码简化:lombok
    9. 消息队列:rabbitmq
    10. 分布式锁: redis (待实现)
    11. 链路跟踪:spring cloud sletuh ->zipkin
    12. 安全认证:oauth2/JWT(待实现)
    13. 服务监控:spring-boot-admin

    各模块介绍

    模块名称 端口 简介
    admin-server 9002 服务监控中心,监控所有服务模块
    conf-server 9004 分布式配置中心,结合spring-security/rabbitmq同时使用
    eureka-server 9003 服务注册中心,提供服务注册、发现功能
    sleuth-server 9001 SpringCloud实现的一种分布式追踪解决方案,兼容Zipkin
    zuul-server 9005 API网关模块
    account-service 8080 用户服务,提供注册、登录、地址等服务
    product-service 8081 商品服务,提供商品列表、详情、库存更新等服务
    payment-service 8082 支付服务,支付记录
    order-service 8083 订单服务,提供订单创建、详情、状态变更
    msg-service 8084 消息处理服务
    front-app 8088 前端服务,结合swagger2提供API管理

    快速上手

    • 1、先启动admin-server,eureka-server,conf-server三个基础服务
    • 2、再依次启动payment/order/product/account基础业务服务
    • 3、最后启动front-app服务,打开浏览器,输入http://localhost:8088/swagger-ui.html ,根据流程API依次可使用功能
    • 4、后续有时间再提供页面,基于VUE2+BOOTSTRAP,将流程串起来

    Release Version

    v2.1

    Release Date : 2017-08-29

    1、引入swagger2,完成API接口文档管理完成整体业务数据流程流转
    2、通过API接口完成整体业务数据
    3、基于Spring-cloud-config引入配置中心,结合security加强安全配置,同时引入bus-amqp(rabbitmq)高效更新配置内容[配置中心数据结合sc-cloud-repo工程使用]
    4、引入feign,满足客户端调用服务端的服务
    5、引入ribbon,可以满足客户端的负载均衡调用后端服务

    v1.0

    Release Date : 2017-08-17

    1、完成基本服务及业务子模块服务的搭建 ,业务子模块可正常运行
    2、完成SpringBootAdmin业务模块的运行监控,及Eureka服务运行,满足各业务基础服务的注册、发现功能
    3、可通过Front-app端,借助Feign组件发起login/signup等功能的 简单测试运行。
    下一版本,将基于此版本之上,继续完善完整的购物实现,包括简单的页面、api管理/调用等等。

    关注更多内容

    image

    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/growithus/p/11012150.html
Copyright © 2011-2022 走看看