本文说明了微服务架构风格的优缺点,以及微服务架构的模式集合。
通过将一个应用程序设计构建为一组松散耦合的协作服务。每个服务都实现了一部分的相关功能。对应于Scale Cube(参考分布式系统三维可缩放模型)的Y轴。
服务使用HTTP / REST等同步协议或AMQP等异步协议进行通信。可以彼此独立地开发和部署服务。每个服务都有自己的数据库。
如何将一个大型复杂的应用程序分解为微服务?
每台主机多个服务实例
每个主机一个服务实例
每个容器一个服务实例
微服务通用框架
中心化配置
远程过程调用
消息
API网关模式
客户端发现
服务器端发现
断路器模式
每个服务一个数据库
JWT访问令牌
UAA安全认证
服务测试
集成测试
日志聚合
应用指标
审计日志
分布式跟踪
异常跟踪
健康检查API
记录部署并更改
服务器端UI
客户端UI