首页 存档 技术 查看内容

架构的本质是管理复杂性,微服务本身也是架构演化的结果

2018-3-30 13:00 |来自: 互联网 245 0

摘要: 作者 | 杨波 编辑 | Gary 微服务,近来热度十足的名词。作为一个新概念,它还没有一个明确的定义。究竟什么是微服务,微服务又有何与众不同?不妨听听本文作者的“老司机一家之言”,欢迎在评论区讨论交流。 微服 ...

作者 | 杨波
编辑 | Gary
微服务,近来热度十足的名词。作为一个新概念,它还没有一个明确的定义。究竟什么是微服务,微服务又有何与众不同?不妨听听本文作者的“老司机一家之言”,欢迎在评论区讨论交流。
微服务架构原理

微服务是个新概念,但它没有一个明确的定义,各家对微服务的描述不尽相同,本人更倾向于用一些架构原理来描述它,因为架构原理是相对抽象和稳定的,而具体实现可以千差万别。微服务原理和软件工程,面向对象设计中的基本原理相通,体现如下:

  1. 单一职责(Single Responsibility),一个服务应当承担尽可能单一的职责,服务应基于有界的上下文(bounded context,通常是边界清晰的业务领域)构建,服务理想应当只有一个变更的理由(类似Robert C. Martin讲的:A class should have only one reason to change),当一个服务承担过多职责,就会产生各种耦合性问题,需要进一步拆分使其尽可能职责单一化。

  2. 关注分离(Separation of Concerns),跨横切面逻辑,例如日志分析、监控、限流、安全等等,尽可能与具体的业务逻辑相互分离,让开发人员能专注于业务逻辑的开发,减轻他们的思考负担,这个也是有界上下文(bounded context)的一个体现。

  3. 模块化(Modularity)和分而治之(Divide

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部