基于微服务分布式的票务类电商网站
项目类型与业务
用户、商品、订单、排期、支付
项目框架
VUE+Spring Cloud + SpringBoot + Mybatis + Mysql
项目关键技术
Spring Cloud 体系、ELK+Kafka、RabbitMQ、Redis、ElasticSearch、Mycat…
包含Eureka注册中心,Zuul网关验证,Config分布式配置管理,Ribbon负载均衡,Feign接口调用,Hystrix容错处理,Sleuth微服务追踪,ELK+Kafka日志收集,RabbitMQ分布式事务,Jenkins+DockerCI/CD自动化运维部署,Elasticsearch搜索引擎,Nexus私服仓库,Mycat数据库中间件,敏捷开发,git版本管理,sonarqube代码检测
微服务架构-服务类型
Provider:服务提供者,提供服务的一方
Consumer:服务消费者,调用服务的一方
微服务架构-通信方式
RPC:
1.Remote Procedure Call
2.支持RPC的微服务框架:Dubbo/Dubbox
3. 基于TCP,平台有关
RESTful
- Repreentational State Tranfer
- 支持Restful的微服务框架:Spring Cloud/Dubbox
- 基于HTTP、平台无关
微服务架构-设计原则
单一职责、围绕业务切分、谁创建谁负责
分布式和集群
分布式:关注项目拆分
集群:关注项目部署
大觅网架构设计
业务架构:互联网用户
用户业务 商品业务 订单业务 支付业务
应用架构:前端、网关、环境、消费、基础、服务
技术选型:数据库、搜索、缓存、提供者、注册中心、消费者、网关
数据库架构:1.基础库:基础信息:区域表、图片表
2.节目库:节目表、节目类型表、剧院表、剧院座位表、节目评论表
3.订单库:订单表、订单联系人表
4.支付库:交易表
5.排期库:排期表、排期座位表、座位价格表
6.用户库:用户表、用户联系人表
大觅网项目管理
版本管理-git
分布式版本控制系统(DVCS):中央版本服务器->本地版本服务器
代码规范管理-Sonar
框架:SonarQube
作用:检查代码规范、检查代码缺陷、提高开发速度
支持语言:Java、C、C++、JS
服务安装+本地安装
项目敏捷管理-Scrum
敏捷开发:以人为核心、遵循迭代、循序渐进的开发方法
敏捷的框架:XP\Scrum
Scrum:将整个开发周期划分为若干个小的迭代周期的一种项目管理框架
产品列表->迭代回忆确定迭代周期内的产品列表->开发团队认领用户故事->站立会汇报->代码review确定功能是否完成->提交项目中,形成产品增量->敏捷回顾会,讨论问题
Scrum框架-任务看板:认领、已认领、完成的、delay的,燃尽图统计项目开发程度
总结:
大觅网包含业务:用户、商品、订单、排期、支付
什么是微服务架构、微服务架构设计原则:
1.将项目拆分几个独立的功能单元的架构
2.单一职责、围绕业务切分、谁创建、谁负责
大觅网架构设计分为几类:业务架构、应用架构、技术架构、数据库架构