《微服務設計》閱讀筆記三

《微服務設計》,Building Microservices,作者Sam Newman,譯者崔力強、張駿,人民郵電出版社,2016年。

筆記中有些內容直接引用原書。

================================================================

第三章 如何建模服務

好的服務是松耦合和高內聚的。這兩個詞在很多地方都用到了,那么在微服務中分別指什么呢?松耦合指的是服務之間耦合度低,修改一個服務不用導致另一個服務跟著修改。高內聚指的是服務內部,相關的行為都聚集在一個服務里,而不是分散在不同服務中,這樣需要修改一個行為時,只要修改一個微服務即可。

限界上下文(bounded context)來自Eric Evans的《領域驅動設計》一書,用來對現實世界領域進行建模。作者比較認同的對該詞比較好的定義是“一個由顯式邊界限定的特定職責”。顯示邊界是外部與它交互的必經之路。

要能找到限界上下文之間的共享模型,其內部和外部的表現形式往往是不一樣的。應該共享特定的模型,而不是共享表示,從而避免緊耦合。

單塊系統中的模塊可以較好地轉化為微服務。不要過早地劃分微服務,要等到服務邊界清晰以后再進行。

對微服務建模時,要首先考慮其業務功能,再考慮其數據。如果只考慮數據,則常常建模為CRUD這種貧血服務。

根據業務邊界,結合組織結構,由粗粒度到細粒度地逐步劃分限界上下文。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一:微服務概念 1、微服務的產生 隨著領域驅動開發、持續交付、按需虛擬化、基礎設施自動化、容器技術、小型自治團隊、...
    黃無有閱讀 2,692評論 1 7
  • “微服務架構”這一術語在前幾年橫空出世,用于描述這樣一種特定的軟件設計方法,即以若干組可獨立部署的服務的方式進行軟...
    ThoughtWorks閱讀 16,979評論 1 71
  • 如何確定微服務的邊界 ---建模 1. 什么樣的服務是好的服務 1) 松耦合:修改一個服務不需要修改另外一個服務,...
    書興閱讀 954評論 0 3
  • 前言 一直對微服務非常感興趣,因為公司的架構改造正好有機會能夠接觸微服務,買來一些書,請教了很多微服務大牛同時自己...
    小程故事多閱讀 1,619評論 2 33
  • 有一種游戲叫你認真就輸了,你太在意的話,到最后受傷害的只是你自己而已
    wuil_光洙閱讀 202評論 0 0