微服务

2018, Jun 10    

微服务设计

一.非传统架构

1.微服务:

根据业务边界由单体系统划分出来一些协同工作的小而自治的独立系统

微服务的理念:高内聚、低耦合、小而自治、独立

高内聚:把相关的行为聚集在一起,把不相关的行为放在别处

低耦合:暴露API,服务之间通过网络调用进行通信,修改一个服务不需要修改另一个服务

小:一个微服务大概在两周内可以完全重写

自治:独立实体可以独立部署

微服务的优势VS单体系统:技术异构、有弹性(服务不可用、功能降级)、易扩展(一服多机)、易部署、易重写(快速替换)、可组合(服务重用)

微服务的挑战:复杂分布式系统、部署、测试、监控等额外工作

2.SOA架构(略)

微服务架构是SOA的一种特定方法

3.其它单体系统分解技术

共享库

模块

这些技术都存在缺点

回顾
  1. 什么是微服务?
  2. 微服务与其他组合技术有何不同?
  3. 微服务带来的好处和面临的挑战?

二.微服务设计方法

1.服务划分
  • 微服务应该和限界上下文保持一致

领域就是业务,一个领域包括多个限界上下文

比如一个公司的领域包括前台、财务、订单,其中财务、仓库就是两个不同的限界上下文

  • 避免过早划分、等待业务出现非常稳定的边界