说说你眼中的微服务
|
根据业务复杂度划分服务,如图2-4所示。当业务复杂度足够高的时候,应该基于领域驱动划分服务,而领域驱动本身足够复杂,很多概念比较抽象,应用范围并不是特别广泛,所以当业务复杂度较低时,可以选择基于数据驱动划分服务。数据驱动更容易理解和上手。也就是说,除非业务复杂度非常高,否则应该优先以数据驱动划分服务。这里的业务复杂度专指业务逻辑,而非数据量、并发量等相关复杂度。 在做出选择的时候,还有一个参考指标是,团队以前是否已经基于领域驱动开发业务。也就是说,如果产品已经基于领域驱动开发了一段时间,团队具备了领域驱动开发的能力,那么推荐继续选择领域驱动划分服务。如果是一个全新的产品,则可以灵活选择。 选择服务划分的方法时要重点考虑如下条件。
基于数据驱动划分服务 数据驱动是一个自下而上的架构设计方法,数据驱动强调的是数据结构,也就是通过分析需求,确定整体数据结构,根据表之间的关系划分服务。 通常基于数据驱动划分服务的步骤如下。 (1)需求分析。通过领域专家(或者产品经理)确定目标,然后总结User Story,确定核心的业务流程;通过工具呈现比较粗糙的界面,进行内部讨论;不断迭代此环节,直到满意为止。 (2)抽象数据结构。根据需求总结Use Case,协助分析需求,从中抽象数据结构。 (3)划分服务。分析数据结构,识别服务——服务应该满足高内聚、低耦合、单一职责等特征。 (4)确定服务调用关系。先分析出主要流程,根据请求需要调用的服务确定服务调用关系。如果存在问题,则需要回到(1)重新开始。 (5)业务流程验证。重新回到User Story,以服务为粒度实现时序图,注意此阶段重点是验证服务划分是否合适,要关注如下问题。
(编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

