微 服 务
1、微服务:协同工作小而自治的服务。
(1)小:足够小即可;
内聚性:指将相关代码放在一起。
单一职责原则:把因相同原因而变化的东西聚合到一起,把因不同原因而变化的东西分离开来。
(2)自治性:一个微服务就是一个独立的实体。
服务之间均通过网络调用来进行通信,从而加强了服务之间的隔离性,避免紧耦合。
2、微服务主要好处。
(1)技术异构性:不同服务可以轻松采用不同技术;
(2)弹性:系统某个组件不可用了,并不会导致级联故障;
(3)扩展:可以针对需要扩展的微服务进行扩展;
(4)简化部署:各个微服务的部署都是独立的;
(5)与组织结构相匹配:康威定律(任何组织机构在设计一套系统时,所交付的设计方案在结构上都与该组织的沟通结构保持一致);
(6)可组合性:根据已有的功能和服务进行组合实现应用开发;
(7)对可替代性的优化:重写或移除一个或者多个微服务阻力很小。
3、面向服务的架构:SOA(Service-Oriented Architecture,面向服务的架构)是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。