8.5 如何開展微服務項目建設?
答:
(1)統一語言模組化
溝通中注意專業術語,努力學會用專業術語進行業務探讨
(2)事件風暴會議
事件即事實,那些在業務領域中已經發生的事件就是事實;運用頭腦風暴會議進行領域分析模組化;
1)梳理目前業務有哪些領域事件,即已經發生并需要儲存下來的那些事實。這時,是按照業務流程依次去梳理領域事件的。
DDD有自己的适用範圍,它往往應用于系統增删改的業務場景中,而查詢場景的分析往往不用DDD,而是通過其他方式進行分析。
2)圍繞領域事件進行業務分析,增加各種指令與事件,進而思考與之相關的資源、外部系統與時間。
3)識别模型中可能涉及的聚合及其聚合根
(3)子域劃分與限界上下文
領域模組化就是将一個系統劃分成多個子域,每個子域都是一個獨立的業務場景,圍繞着這個業務場景模組化,會涉及許多領域對象,而這些領域對象又可能與其他子域的對象進行關聯。這樣,每個子域的實作就是“限界上下文”,而它們之間的關系關系就是“上下文地圖”
(4)微服務拆分
拆分的目标:
小而專,即微服務内高内聚,微服務間低耦合。
小就是将原有的大的應用拆分成一系列小的服務;專就是專注,這裡指單一職責,也就是高内聚。
組合的模式:
6個;
聚合模式、代理模式、鍊路模式、分支模式、異步模式與資料共享模式。
(5)技術選型