想懂點微服務架構,這5本才是最好的
對于復雜的應用程序,微服務體系架構擁有大量的優點,但是,話說回來,設計微服務是一項相當具有挑戰性的任務,更糟糕的是,如果微服務設計不當,反而適得其反,在設計微服務體系結構之前,開發人員和架構師應該對微服務體系結構有一個清晰的了解。
如今,開發人員都通過一些在線課程或者博客文章來學習某個主題,除了這些在線資源,我還建議大家可以閱讀一些書籍來作為補充。
今天,和大家分享五本書,它們將有助于更好地理解微服務體系結構以及如何在實際項目中使用它。
1、《微服務設計》
Sam Newman是微服務體系架構的開拓者,在這本開創性的書中,他詳細描述了微服務體系結構的原則,以及如何設計、部署、測試微服務體系結構。他還指出了設計微服務的潛在缺陷,以及如何以一種漸進的方式將整體應用程序遷移到微服務中。
除此之外,Sam的敘述方式簡單清晰,將如此復雜的一個主題解釋的相當直觀,對于任何想從事微服務的人來說,這是一本必讀的書。
2.《微服務架構設計模式》
Chris Richardson是一位著名的微服務專家,同時也是最受歡迎的微服務博客的博主。在這本書中,Chris Richardson描述了微服務體系結構的優點以及微服務的缺點以及相關的難題,對于這些難題,他都會提供一個或多個模式來解決問題,并且還會介紹這些解決方案的優缺點。本書還總結了微服務世界中使用的所有模式。
3.《Microservices Recipes》
Eberhard Wolff是德國著名的軟件架構師,他寫過幾本關于微服務的德語和英語書籍。選擇微服務架構需要解決的難題之一就是,它為不同的問題提供不同的解決方案,而選擇正確的解決方案是相當困難的。這本書將幫助你解決這方面的問題。關鍵你還可以免費下載。
下載地址:https://leanpub.com/microservices-recipes
4.《實現領域驅動設計》
《實現領域驅動設計》分別從戰略和戰術層面詳盡地討論了如何實現DDD,其中包含了大量的最佳實踐、設計準則和對一些問題的折中性討論。
領域驅動設計提倡將軟件設計分為兩個步驟:戰略設計和戰術設計,因此,本書可以幫助你解決微服務的構建相關的問題,要深入了解領域驅動的設計,我更喜歡Vaughn Vernon編寫的“紅皮書”,而不是Eric Evans編寫的原始藍皮書,因為這本書更具可讀性,并使用了現代技術堆棧(例如事件源、CQRS)。
5.《數據密集型應用系統設計》
微服務的另一個難題是將中央數據存儲拆分為特定于微服務的數據存儲,然后在微服務之間共享數據/消息。此外,微服務體系結構提倡為微服務使用適當的數據存儲,這可能導致使用多語言數據庫。
因此,深入了解現代數據存儲、數據轉換、數據共享是設計有效的微服務必不可少的。Martin Kleppmann,可以說是這個領域最好的主題專家,他寫的《數據密集型應用系統設計》全面地論述了關于數據庫的一切:SQL、NoSQL數據庫、數據存儲格式、數據傳輸格式、消息隊列。這是關于現代數據管理最全面和最完整的書,也是微服務架構師的必讀書籍。
不知道今天的書單你可還喜歡?