《微服務設計》第 5 章 分解單塊系統

  • 2019 年 10 月 8 日
  • 筆記

第 5 章 分解單塊系統

5.1 關鍵是接縫

  • 從接縫處可以抽取出相對獨立的一部分程式碼,對這部分程式碼進行修改不會影響系統的其他部分。識別出接縫不僅僅能夠清理程式碼庫,更重要的是,這些被識別出的接縫可以成為服務的邊界

5.2 分解MusicCorp


5.3 分解單塊系統的原因

5.3.1 改變的速度

  • 我們可能會對庫存管理方面的程式碼做大量修改。所以如果現在把倉庫接縫抽出來作為一個服務,使其成為一個自治單元,那麼後期開發的速度將大大加快

5.3.2 團隊結構

  • MusicCorp 的交付團隊事實上分布在兩個不同的地區,一個團隊在倫敦,另一個在夏威夷(有些人太舒服了!)。最好能把夏威夷團隊維護的大部分程式碼分離出來

5.3.3 安全

  • MusicCorp 有安全審計的機制,並且決定對敏感資訊做更加嚴密的保護

5.3.4 技術

  • 維護推薦系統的團隊研究出了一種新的演算法,這種演算法使用了 Clojure 語言中邏輯式編程的庫,並且認為這能夠大大改善我們的服務

5.4 雜亂的依賴

  • 另一個需要考慮的點是,這部分程式碼與系統剩餘部分之間的依賴有多亂

  • 《修改程式碼的藝術》