微服务
简而言之,微服务架构风格是以一组小服务来开发单个应用程序的方法,每一个服务运行在自己独立的进程中并且使用轻量级的方法通信,通常是一个HTTP API接口。这些服务围绕相关业务范围构建并且由全自动化部署机器独立部署。这些服务只需要最低限度的管理,可以用不同的编程语言去编写并且使用不同的数据存储技术。 ————MartinFowler
架构特征
- 服务组件化
- 服务围绕业务设计
- 以产品为中心的开发模式
- 轻量级通讯机制
- 去中心化治理
- 去中心化数据存储
- 故障处理可监控
- 演进式设计
- 基础运维自动化
微服务具有以下优势:
- 开发简单
- 技术栈灵活
- 服务独立
- 按需伸缩
面临的挑战:
- 运维复杂度高
- 面临数据一致性问题 | 分布式的复杂性
- 集成测试困难
- 服务间重复的代码
- 监控更加困难
- 通讯成本高
架构设计原则
- 单一职责原则(边界明晰)
- 服务自治原则
- 轻量级通讯原则
- 接口明确原则
喜欢请点个赞
转载请注明出处:https://www.jianshu.com/u/4915ed24d1e3
如有错误,请务必指正。谢谢
我的博客:https://xzing.github.io/