怎樣將系統拆分成微服務

將系統劃分爲微服務。這是一門藝術,這裏介紹一些策略希望可以幫助大家:

  •  通過業務功能分解,並定義與業務功能相對應的服務。
  •  使用DDD(域驅動設計方法)設計微服務。
  •  由動詞或用例分解系統,並定義負責特定動作的服務。例如,一種負責裝貨運訂單的運輸服務。這裏的“運輸”就可以被用來分解系統,將運輸服務分解成微服務。
  •  由名詞或資源來分解系統,分離出某一個服務,這個服務負責對給定類型的名詞實體或者資源實施操作。例如一個負責管理用戶帳戶的帳戶服務。賬戶被用來分解出“賬戶服務”

 

理想情況下,每個服務都應該只有一小部分責任。設計模式中的SRP(Single Responsibility Principle)適合使用在此處。

 

另一個有助於服務設計的類比是Unix實用工具的設計。Unix提供了大量實用程序,如grep、cat和find。每個實用程序都做了一件事,通常非常出色,並且可以使用shell腳本與其他實用程序結合使用,以執行復雜的任務。微服務的設計也可以如此。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章