康威定律:任何組織在設計一套系統時,所交付的設計方案在結構上都與該組織的溝通結構保持一致。
1、松耦合組織和緊耦合組織:緊耦合組織的乙個例子是商業產品公司,松耦合組織典型代表是分布式開源社群。組織的耦合度越低,其建立的系統的模組化就越好,耦合也越低。
2、netfflix和amazon:組織和架構應該一致,兩個典範是netfflix和amazon。組織結構對系統的性質和質量確實有著深刻的影響。
4、共享服務的原因:共享服務方式效果不佳,但是採用了共享服務一般有這些原因。 服務難以分割、特性團隊、交付瓶頸。
5、內部開源:內部開源模式可以更合理的避免共享服務。標準的開源專案,一部分人是核心提交者,核心提交者對**庫負責。
守護者的角色:核心團隊需要對更改有審批。守護者會和提交者進行清晰的溝通,並對他們的工作方式進行引導。
成熟:服務不穩定不成熟,就很難讓核心團隊之外的人提交更改。
工具:為了更好的支援內部開源模型,需要一些支援pull請求的分布式版本控制工具。
6、界限上下文和團隊結構:界限上下文定義服務的邊界,團隊也可以與界限上下文保持一致。
7、反向的康威定律:系統設計有可能會影響組織結構。
8、人:不管一開始看起來什麼樣,它永遠是人的問題。---傑拉爾德溫伯格,諮詢第二定律。如果沒有把人們拉到一條船上,你想要的任何變化從一開始就注定會失敗。
9、小結:康威定律強調了試圖讓系統設計跟組織結構不匹配所導致的危險。這引導我們試圖將服務所有權與同地團隊相匹配,而兩者本身與組織界限上下文是匹配的。
微服務設計讀書筆記
微服務架構的優勢 1 較小的粒度 2 在解決問題的方法上能夠給予更多的選擇 相比動態庫更新,相關的依賴都要更新是乙個很大的優點。3 微服務定義為可以在2周之內改寫乙個服務,這種粒度的頻繁更新引入風險的可能性較單一系統有較大的改善 微服務設計 沒有明確邊界的時候,可以設定的粒度比較大,當服務內部的邊界...
《微服務設計》讀書筆記
待做的 學習框架 nameko double spring cloud 書 微服務的定義 一些協同工作的小而自治的服務 微服務的核心思想 1.自治 2 作為服務方,需要避免方暴露過多給消費而產生耦合,從而降低服務的自治性。要封裝好,服務方內部實現修改,不該影響到消費方。2.細粒度 1 解耦 避免系統...
微服務設計 讀書筆記 一
1.1 什麼是微服務 微服務就是一些協同工作的小而自治的服務。1.1.1 專注於做好一件事 隨著新功能的增加,庫會越變越大。時間久了 庫會非常龐大,以至於想要知道該在什麼地方做修改都很困難。在乙個單塊系統內,通常會建立一些抽象層或者模組來保證 的內聚性,從而避免上述問題。內聚性是將相關 放在一起,在...