什么是微服务?
微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。
微服务特点:
1.单一职责的。一个微服务应该都是单一职责的,这才是“微”的体现,一个微服务解决一个业务问题(注意是一个业务问题而不是一个接口)。
2.面向服务的。将自己的业务能力封装并对外提供服务,这是继承SOA的核心思想,一个微服务本身也可能使用到其它微服务的能力。
3.服务之间通过HTTP协议相互通信
4.可独立部署
5.服务集中化管理
6.微服务是一个分布式系统
小编带给大家一份“微服务架构设计模式”,希望这篇文章对大家学习微服务有所帮助!
主要内容
第1章逃离单体地狱
-
微服务架构的模式语言概述
第2章服务的拆分策略
本章导读
- 理解软件架构,以及它为什么如此重要
- 使用拆分模式中的业务能力模式和子域模式进行单体应用到服务的拆分
-
使用领域驱动设计中的限界上下文概念来分解数据,并让服务拆分变得更容易
第3章微服务架构中的进程间通信
第4章使用Saga管理事务
-
编排式Saga
-
Order Service和Create Order Saga的设计
第5章微服务架构中的业务逻辑设计
-
Kitchen Service的业务逻辑
第6章使用事件溯源开发业务逻辑
本章导读
- 使用事件溯源模式开发业务逻辑
- 实现事件存储库
- 整合Saga和基于事件溯源的业务逻辑
-
使用事件溯源实现Saga编排器
第7章在微服务架构中实现查询
-
设计CQRS视图
第8章外部API模式
-
FTGO移动客户端API的设计难题
第9章微服务架构中的测试策略(上)
-
微服务架构中的测试策略概述
-
为服务编写单元测试
第10章微服务架构中的测试策略(下)
-
编写组建测试
-
端到端测试
第11章开发面向生产环境的微服务应用
-
使用基于拉取的外部化配置
第12章部署微服务应用
-
什么是Kubernetes
第13章微服务架构的重构策略
-
隔离表现层与后端
-
设计服务与单体的协作方式
总结
微服务已经成为很多大型互联网公司的选择,对于架构师和想要成为架构师的工程师来说,掌握微服务不仅要学会使用相关框架来实现,还要掌握具体用法,在具体的实践中仍然要避开很多坑。