微服务架构的深度解析,你能详细列举出微服务的主要特性有哪些吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3806个文字,预计阅读时间需要16分钟。
微服务架构主要特性是服务粒度更细,服务微服务架构相比SOA分布式架构更强调业务边界作细粒度服务划分。SOA架构使用粗粒度服务模式封装业务和技术能力,减少服务交互,但服务交互较多。
微服务主要特性粒度更细的服务微服务架构相比SOA分布式架构强调按业务边界做细粒度的服务拆分。SOA架构使用粗粒度的服务模式来封装业务和技术能力减少服务交互减少服务交互但同时带来了业务耦合的复杂性。而微服务架构本质上是一个做减法的架构将规模庞大的单体系统进行服务拆分每个细粒度服务的功能和职责单一。当然服务的粒度并不是拆得越细越好如果拆分不当还会造成服务频繁地跨网络操作增加系统的整体复杂性。首先微服务粒度的划分要求工程师充分理解和洞察业务领域的边界保证你所拆分的服务是自包含的。所谓“自包含”就是说你的服务是可以独立部署、独立演进的你的服务可以自主地完成某个特定的、单一的功能。
其次细粒度服务应该同时具备高内聚和低耦合两个特征。高内聚要求将系统中相关的元素和行为聚集在一起把不相关的元素和行为放在别处低耦合是指降低微服务之间的相互依赖程度和相互作用关系如果服务之间存在紧密联系说明它们的耦合度比较高最好不要做拆分操作而应该做聚合操作这样可以使信息的传递和协作比拆分成独立的服务更加简单可控。
另外细粒度服务应该尽量做到独立。这一特性也适用于单一职责 原 则 SRP Single Responsibility Principle 该 原 则 由Robert C.Martin提出。从面向对象设计的角度看所谓职责是指一个类Class变化的原因。如果一个类有多个改变动机那么这个类就具有多个职责而单一职责原则就是指一个类或者模块应该有且只有一个改变原因。
下面总结一下粒度更细的服务带来的好处
● 粒度更细的服务使每一个服务专注做好一件事情。
本文共计3806个文字,预计阅读时间需要16分钟。
微服务架构主要特性是服务粒度更细,服务微服务架构相比SOA分布式架构更强调业务边界作细粒度服务划分。SOA架构使用粗粒度服务模式封装业务和技术能力,减少服务交互,但服务交互较多。
微服务主要特性粒度更细的服务微服务架构相比SOA分布式架构强调按业务边界做细粒度的服务拆分。SOA架构使用粗粒度的服务模式来封装业务和技术能力减少服务交互减少服务交互但同时带来了业务耦合的复杂性。而微服务架构本质上是一个做减法的架构将规模庞大的单体系统进行服务拆分每个细粒度服务的功能和职责单一。当然服务的粒度并不是拆得越细越好如果拆分不当还会造成服务频繁地跨网络操作增加系统的整体复杂性。首先微服务粒度的划分要求工程师充分理解和洞察业务领域的边界保证你所拆分的服务是自包含的。所谓“自包含”就是说你的服务是可以独立部署、独立演进的你的服务可以自主地完成某个特定的、单一的功能。
其次细粒度服务应该同时具备高内聚和低耦合两个特征。高内聚要求将系统中相关的元素和行为聚集在一起把不相关的元素和行为放在别处低耦合是指降低微服务之间的相互依赖程度和相互作用关系如果服务之间存在紧密联系说明它们的耦合度比较高最好不要做拆分操作而应该做聚合操作这样可以使信息的传递和协作比拆分成独立的服务更加简单可控。
另外细粒度服务应该尽量做到独立。这一特性也适用于单一职责 原 则 SRP Single Responsibility Principle 该 原 则 由Robert C.Martin提出。从面向对象设计的角度看所谓职责是指一个类Class变化的原因。如果一个类有多个改变动机那么这个类就具有多个职责而单一职责原则就是指一个类或者模块应该有且只有一个改变原因。
下面总结一下粒度更细的服务带来的好处
● 粒度更细的服务使每一个服务专注做好一件事情。

