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管理/调用等等。

关注更多内容

基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例的更多相关文章

  1. 基于SpringCloud的微服务架构实战案例项目

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

  2. springcloud与docker微服务架构实战--笔记

    看了<微服务那些事>之后,Spring boot和Spring Cloud的关系理清楚了,Spring cloud各个模块的作用也了解了. 但是,Spring cloud 与Docker的 ...

  3. 用SpringCloud进行微服务架构演进

    在<架构师必须要知道的阿里的中台战略与微服务> 中已经阐明选择SpringCloud进行微服务架构实现中台战略,因此下面介绍SpringCloud的一些内容,SpringCloud已经出来 ...

  4. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  5. ASP.NET Core基于K8S的微服务电商案例实践--学习笔记

    摘要 一个完整的电商项目微服务的实践过程,从选型.业务设计.架构设计到开发过程管理.以及上线运维的完整过程总结与剖析. 讲师介绍 产品需求介绍 纯线上商城 线上线下一体化 跨行业 跨商业模式 从0开始 ...

  6. 基于netty的微服务架构

    基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...

  7. 《Spring Cloud与Docker微服务架构实战》配套代码

    不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...

  8. 基于Spring-Cloud的微服务框架设计

    基于Spring-Cloud的微服务框架设计 先进行大的整体的框架整理,然后在针对每一项进行具体的详细介绍

  9. Spring Cloud与Docker微服务架构实战 PDF版 内含目录

    Spring Cloud与Docker微服务架构实战  目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...

随机推荐

  1. 修改window.external使JS可调用Delphi方法

    原文地址:http://hi.baidu.com/rarnu/blog/item/4ec80608022766d663d986ea.html 在js中,有一个比较特殊的对象,即window.exter ...

  2. <转>C# 动态创建DataTable

    C# 动态创建DataTable,有时候在做些测试Demo中用来模拟一些数据比较不错.记在这里避免以后重写呵呵... DataTable dt = new DataTable(); dt.Column ...

  3. Android零基础入门第29节:善用TableLayout表格布局,事半功倍

    原文:Android零基础入门第29节:善用TableLayout表格布局,事半功倍 前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻 ...

  4. VC 调用 MinGW 生成的dll good

    首先,如果dll 中导出了C++的类,那么就不要折腾了.不同的编译器编译出来的C++代码是不保证通用的.如果dll中只是一些C 函数,那么是可以互相调用的. MinGW 生成dll时即使生成了 .a  ...

  5. CMake编译如何解决[-Werror,-Wformat-security] 问题

    在用Android Studio进行Android开发时,常常采用 java代码调用C++代码,即JNI调用native的开发模式. 在上层build.gradle编译脚本里面可以指定C++代码的编译 ...

  6. Spring Boot:实现MyBatis动态创建表

    综合概述 在有些应用场景中,我们会有需要动态创建和操作表的需求.比如因为单表数据存储量太大而采取分表存储的情况,又或者是按日期生成日志表存储系统日志等等.这个时候就需要我们动态的生成和操作数据库表了. ...

  7. Windows下OSGEarth的编译过程

    目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译 3. 参考文献 1. 依赖 ...

  8. 【JAVA】POI生成EXCEL图表(柱状图、折线等)

    1.使用excel工具自带的图形工具创建一个图: 2.绑定数据区域: 3.数据区域绑定完成,我们要做的就是将数据写入到数据区域中: 4.标记 5.POI 引入包 <!-- https://mvn ...

  9. Mint-ui全局引入

    1.Mint-ui在全局引入之后,在组件中使用其中的js函数,如toast() this.$toast('在全局引入之后可以直接在this.$toast中使用')

  10. Linux不重启识别新添加的磁盘

    现网的一台EXSI 下的虚拟机一般在进行配置变更后都会通过重启来识别新增的配置,不过业务侧某台主机因为业务需要无法重启,想通过不重启直接识别护容上去的新磁盘.经测试,发现如下方可以解决. 1.通过ex ...