05-微服务架构小结

微服务

简而言之,微服务架构风格是以一组小服务来开发单个应用程序的方法,每一个服务运行在自己独立的进程中并且使用轻量级的方法通信,通常是一个HTTP API接口。这些服务围绕相关业务范围构建并且由全自动化部署机器独立部署。这些服务只需要最低限度的管理,可以用不同的编程语言去编写并且使用不同的数据存储技术。 ————MartinFowler

架构特征

  • 服务组件化
  • 服务围绕业务设计
  • 以产品为中心的开发模式
  • 轻量级通讯机制
  • 去中心化治理
  • 去中心化数据存储
  • 故障处理可监控
  • 演进式设计
  • 基础运维自动化

微服务具有以下优势:

  • 开发简单
  • 技术栈灵活
  • 服务独立
  • 按需伸缩

面临的挑战:

  • 运维复杂度高
  • 面临数据一致性问题 | 分布式的复杂性
  • 集成测试困难
  • 服务间重复的代码
  • 监控更加困难
  • 通讯成本高

架构设计原则

  • 单一职责原则(边界明晰)
  • 服务自治原则
  • 轻量级通讯原则
  • 接口明确原则

喜欢请点个赞

转载请注明出处:https://www.jianshu.com/u/4915ed24d1e3

如有错误,请务必指正。谢谢

我的博客:https://xzing.github.io/