美文网首页工作生活
如何理解微服务架构

如何理解微服务架构

作者: 路亚历克斯 | 来源:发表于2019-07-03 00:47 被阅读0次

不要单独去理解或解释“微服务”,要整体理解“微服务架构”

一个“微服务”是在一个语境下、一个背景下才有意义的词,尝试独立去定义或解释它是说不清楚的。

微服务架构是什么?

微服务架构是一种架构风格(或叫架构模式)、以及一组成功架构实践的总称。有时也代表一种架构思想。
微服务架构就是:以一组“按领域功能解耦的、彼此之间以轻量级通讯框架交互的、可独立开发/测试/发布/部署/升级和替换的、较小粒度的组件”的方式构建应用的架构模式!

微服务架构的典型特征

1、 按领域功能边界解耦

  • 高内聚、低耦合
  • 单一职责
  • 全功能团队(麻雀虽小,五脏俱全)
  • 不是按技术纬度分团队,如分层

2、 轻量级通信框架

  • 非集中式总线
  • 分布式架构
  • 高性能

3、 独立性、自治

  • 可独立开发、测试、发布、部署、升级
  • 可独立技术实现,如语言选择
  • 独立数据模型,不在数据层面耦合
  • 可独立数据库部署,执行态在数据层面也是解耦的
  • 可单独替换,面向API设计、开发态与执行期解耦
  • 无状态

4、 小粒度

  • 两个披萨团队、TOT

5、 基础设施自动化,部署一个应用/单元,和部署100个应用/单元,没有显著差别(部署时间、人力等)《一组成功实践》

  • 自动化部署,弹性伸缩
  • infrastructure as code
  • CI、CT&自动化测试、CD
  • 服务治理,如服务调用链

6、 面向失败的设计

  • 防雪崩、防扇出
  • 熔断、限流(成功实践)
  • 服务调用链、日志服务

7、 持续演进

  • 兼容性

相关文章

网友评论

    本文标题:如何理解微服务架构

    本文链接:https://www.haomeiwen.com/subject/yitfhctx.html