- 微服務容器化開發實戰
- 尹為強
- 1557字
- 2020-10-30 15:17:05
前言
微服務的概念最早是在2011年5月的軟件架構會議上提出的,Martin Fowler于2014年全面闡釋了微服務架構。Docker作為一種容器化技術誕生于2013年的開源項目,如今,Docker已經成為容器技術領域的領頭羊。Kubernetes這個名字起源于古希臘,是舵手、羅盤的意思。Google于2014年6月推出Kubernetes(Borg 的開源版本),并于2015年7月推出Kubernetes v1.0版本。微服務、Docker和Kubernetes涵蓋了系統開發、運行環境與編排調度技術,是目前分布式系統架構中主流的技術棧。
為什么寫本書
如今,無論是開發人員、運維人員還是技術管理者,言系統架構必談微服務和容器化,必談分布式和互聯網架構。但是對于大多數IT從業者來說,微服務、容器化、Kubernetes等涉及很多新技術,如果完全摸索著去學習,無形中會增加學習時間,并延長系統的新架構改造周期,而且其他人遇到的問題還要重新解決。
筆者也曾遇到相同的問題,微服務、容器化和Kubernetes相關技術棧過于龐大,在自行摸索過程中,由于主機環境、軟件版本、參數配置、網絡模式等存在一定的差異,所以其他人分享的經驗無法復用。筆者在進行訂單系統進行微服務、容器化的新架構開發和升級過程中,總結和提煉了一些經驗與注意事項,將這些內容加以整理并固化形成本書,希望對讀者的實踐有所幫助。
對于微服務開發工程師、容器化和Kubernetes運維工程師、系統架構師、技術管理者等來說,本書不但能夠引導他們少走彎路,而且能夠給予他們系統架構、技術棧選型等方面的參考。閱讀本書,讀者能夠使單體架構的系統簡單快捷地進行微服務容器化的架構升級,從而使新項目能夠基于微服務容器化的新架構迅速地開發、部署和運維。
本書主要內容
本書共包括10章,以微服務、容器化、Kubernetes、Rancher等的概念、解決方案及生產實踐操作為基礎和主線,進行了易于理解和上手操作的講解。
第1章至第3章主要圍繞微服務開發展開:從單體架構和微服務架構的特點、兩者之間的差異開始,介紹了如何拆分微服務;然后介紹微服務開發的技術框架選型,以及微服務開發中的代碼編寫;最后介紹了微服務運行的3種運行環境,以及每種運行環境如何配置參數等。
第4章主要圍繞微服務的容器化部署和生產展開:詳細介紹在離線的生產環境內網中,如何快速、便捷地部署和管理Kubernetes集群,如何創建安全的數字證書,以及如何創建私有鏡像倉庫等。
第5章至第7章主要圍繞微服務間的調用展開:首先介紹了基于ELK組件的日志采集模型及其在生產中的應用;然后介紹了微服務間調用鏈的概念、調用鏈模型及調用鏈的動態跟蹤;最后介紹了服務間調用的熔斷器,為服務調用提供一種穩定、可靠的容錯和自保護機制。
第8章主要圍繞微服務到容器化的生產構建展開:從精簡、安全、標準化的基礎鏡像構建到業務鏡像構建,再到生產環境中服務編排及特定服務涉及的目錄掛載、環境變量設置等。
第9章和第10章主要圍繞系統監控、持續集成部署展開:介紹了系統監控的類型、范圍,以及Exporter + Prometheus + Grafana的監控模型體系。系統持續集成部署部分涉及基于Jenkins的自動編譯、打包、部署的概念和生產實踐。
致謝
首先要感謝我的家人給予我的理解和堅定支持。特別感謝我的妻子,她的理解、包容和支持使我能夠全身心投入書稿的編寫工作。
同時,衷心感謝電子工業出版社博文視點的宋亞東為我耐心講解書籍出版要求以及書稿編寫的注意事項,并且基于作者的角度提供了諸多幫助,盡量減輕作者工作量。他工作嚴謹,技術理解深刻,對書稿質量把控嚴格,還多次邀請專家對本書提出有益意見,對本書的修改和完善起到了重要作用。
由于作者水平有限,書中難免存在不足之處,敬請廣大讀者批評指正。
尹為強

讀者服務
微信掃碼回復:38292
●獲取博文視點學院20元付費內容抵扣券;
●獲取免費增值資源;
●加入讀者交流群,與更多讀者互動;
●獲取精選書單推薦。
輕松注冊成為博文視點社區(www.broadview.com.cn)用戶,您對書中內容的修改意見可在本書頁面的“提交勘誤”處提交,若被采納,將獲贈博文視點社區積分。在您購買電子書時,積分可用來抵扣相應金額。
- 筆記本電腦使用、維護與故障排除實戰
- Learning SQL Server Reporting Services 2012
- 新型電腦主板關鍵電路維修圖冊
- 電腦組裝與維修從入門到精通(第2版)
- BeagleBone By Example
- 計算機應用與維護基礎教程
- 3ds Max Speed Modeling for 3D Artists
- 從零開始學51單片機C語言
- Mastering Adobe Photoshop Elements
- 計算機組裝與維修技術
- Large Scale Machine Learning with Python
- R Deep Learning Essentials
- Managing Data and Media in Microsoft Silverlight 4:A mashup of chapters from Packt's bestselling Silverlight books
- 單片機技術及應用
- 單片機原理及應用:基于C51+Proteus仿真