8.5 如何开展微服务项目建设?
答:
(1)统一语言建模
沟通中注意专业术语,努力学会用专业术语进行业务探讨
(2)事件风暴会议
事件即事实,那些在业务领域中已经发生的事件就是事实;运用头脑风暴会议进行领域分析建模;
1)梳理当前业务有哪些领域事件,即已经发生并需要保存下来的那些事实。这时,是按照业务流程依次去梳理领域事件的。
DDD有自己的适用范围,它往往应用于系统增删改的业务场景中,而查询场景的分析往往不用DDD,而是通过其他方式进行分析。
2)围绕领域事件进行业务分析,增加各种命令与事件,进而思考与之相关的资源、外部系统与时间。
3)识别模型中可能涉及的聚合及其聚合根
(3)子域划分与限界上下文
领域建模就是将一个系统划分成多个子域,每个子域都是一个独立的业务场景,围绕着这个业务场景建模,会涉及许多领域对象,而这些领域对象又可能与其他子域的对象进行关联。这样,每个子域的实现就是“限界上下文”,而它们之间的关系关系就是“上下文地图”
(4)微服务拆分
拆分的目标:
小而专,即微服务内高内聚,微服务间低耦合。
小就是将原有的大的应用拆分成一系列小的服务;专就是专注,这里指单一职责,也就是高内聚。
组合的模式:
6个;
聚合模式、代理模式、链路模式、分支模式、异步模式与数据共享模式。
(5)技术选型