QuickStart
基于 SpringCloud 体系实现, 简单购物流程实现, 满足基本功能: 注册登录商品列表展示商品详情展示订单创建详情查看订单支付库存更新等等
每个业务服务采用独立的 MYSQL 数据库, 初期考虑用到如下组件:
服务注册发现: eureka
配置管理: spring config , spring security
集群容错: hystrix(待实现)
API 网关: zuul(待实现)
服务负载: feign+ribbon
api 文档输出: swagger2
代码简化: lombok
消息队列: rabbitmq
分布式锁: redis (待实现)
链路跟踪: spring cloud sletuh ->zipkin
安全认证: oauth2/JWT(待实现)
服务监控: 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... , 根据流程 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 管理 / 调用等等
关注更多内容
源码地址 : https://github.com/backkoms/simplemall
来源: http://www.bubuko.com/infodetail-2515995.html