微服務模塊划分原則:
原則1:傳統的一個大業務系統划分微服務模塊的時候,盡量是划分到6到8個模塊比較合適,當你本身的IT成熟度達到一定水平后你可以划分的更加細點。同時在微服務模塊划分的時候一定要考慮數據庫本身的划分,即底層的數據庫也是划分開的。
原則2:要分析單個業務系統內部的流程,然后分解到具體的業務組件或功能,再按照高內聚的原則進行聚合,盡量確保各個微服務模塊之間的交互最少。同時對於大家都要用到的基礎數據模塊,仍然采用共性下沉的策略和思路進行。
微服務接口定義原則(服務發現)
原則1:接口一定要保證粗粒度特性,實現業務規則和邏輯的高度內聚。接口面對的應該是核心的業務對象,領域對象或業務規則能力暴露,而不是微服務模塊內部的數據庫表的CRUD操作的暴露。如果將數據庫表CRUD操作暴露為Rest API接口並在微服務模塊間相互調用。一個是耦合性增加,一個是完全沒有實現高內聚的基本要求。