来源于 黄勇大师的博客
一、微服务架构分享
1、为什么需要微服务架构。
2、微服务架构是什么。
3、微服务架构有哪些特点。
4、如何搭建微服务架构。
5、微服务架构应用。
二、为什么需要微服务架构
a、传统的应用架构,一个war包包含了所有的业务功能。 有的模块cpu占用80%,有的模块占用10%,有点占用10%,所以整个应用需要水平扩展
b、水平扩展:用负载均衡去扩展,但是刚才10%的模块就浪费了资源。
c、传统应用结构不足:系统资源浪费--》水平扩展带来了资源浪费 ,部署效率太低---每修改个模块,都需要部署整个系统,技术选型单一--- 每个模块都有相同的技术选型
d、微服务架构解决方案
1、根据业务模块划分服务种类。
2、每个服务可独立部署且相互隔离。
3、服务之间通过轻量级API进行通信。
4、服务需保证良好的高可用性。
三、微服务架构
服务注册---服务发现--服务调用
微服务架构工作流程
1、设计阶段
将产品功能拆分为若干个服务
为每个服务设计API接口(REST 方式)
2、开发阶段
实现API接口(包括单元测试)
开发UI模型(mock数据)
3、测试阶段
前后端集成
验证产品功能
4、部署阶段
发布预产环境
发布生成环境
四、微服务架构有哪些特点
1、粒度微小 :根据业务功能划分服务粒度
2、责任单一:每个服务只做一件事情(单一职责原则)
3、隔离性好 :每个服务相互隔离且互不影响
4、管理容易:自动化部署与监控预警。
微服务架构 的挑战
1、运维要求高: 系统监控、高可用性、自动化技术
2、分布式复杂性:网络延迟、系统冗错、分布式事务
3、部署依懒性较强:服务依懒、多版本的问题。
4、服务间通讯成本高:无状态性、进程间调用
五、如何搭建微服务架构
1、服务框架:Spring Boot
2、服务容器:Docker
3、服务注册:Zookeeper
4、服务网关:Node.js
六、特赞系统结构