幫助中心 | 我的帳號 | 關於我們

微服務實戰

  • 作者:(英)摩根·布魯斯//保羅·A.佩雷拉|責編:吳晉瑜|譯者:李哲
  • 出版社:人民郵電
  • ISBN:9787115529879
  • 出版日期:2020/05/01
  • 裝幀:平裝
  • 頁數:318
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書主要介紹與微服務應用開發和部署相關的內容,並輔以實際示例來引導讀者體驗從設計到部署微服務的全過程。
    全書共13章,分為4部分。第一部分介紹微服務的設計和運行,並把微服務方案運用到一個示例(SimpleBank)中;第二部分先介紹微服務應用的架構,然後通過為SimpleBank設.計新功能來講述如何決定微服務的職責範圍,還介紹了微服務的事務與查詢、高可靠服務的設計以及可復用微服務框架的構建等內容;第三部分展示了微服務部署的一些最佳實踐,包括基於容器和調度器的部署、構建微服務交付流水線等;第四部分著重探討微服務的可觀測性以及微服務開發中「人」的因素。
    通過學習本書的內容,讀者將了解如何進行微服務應用的開發和部署、如何通過微服務來實現有效的持續交付,以及如何用Kubernetes、Docker和Google Containerr Engine開發實例。
    本書適合了解企業級應用架構和雲平台(如AWS和GcP)的中級開發人員和架構師閱讀,也適合對微服務感興趣的讀者參考。

作者介紹
(英)摩根·布魯斯//保羅·A.佩雷拉|責編:吳晉瑜|譯者:李哲

目錄
第一部分  概述
  第1章  微服務的設計與運行
    1.1  什麼是微服務應用
    1.1.1  通過分解來實現擴展
    1.1.2  核心原則
    1.1.3  誰在使用微服務
    1.1.4  為什麼微服務是一個明智的選擇
    1.2  微服務的挑戰
    1.2.1  設計挑戰
    1.2.2  運維挑戰
    1.3  微服務開發生命周期
    1.3.1  微服務設計
    1.3.2  微服務部署
    1.3.3  服務監控
    1.4  有責任感和運維意識的工程師文化
    1.5  小結
  第2章  SimpleBank公司的微服務
    2.1  SimpleBank公司的業務範圍
    2.2  微服務是否是正確的選擇
    2.2.1  金融軟體的風險和惰性
    2.2.2  減少阻力和持續交付價值
    2.3  開發新功能
    2.3.1  通過領域建模識別微服務
    2.3.2  服務協作
    2.3.3  服務編排
    2.4  向外界開放服務
    2.5  將功能發布到生產環境中
    2.5.1  高質量的自動化部署
    2.5.2  可恢復性
    2.5.3  透明性
    2.6  大規模微服務開發
    2.6.1  技術分歧
    2.6.2  孤立
    2.7  接下來的內容
    2.8  小結
第二部分  設計
  第3章  微服務應用的架構
    3.1  整體架構
    3.1.1  從單體應用到微服務
    3.1.2  架構師的角色
    3.1.3  架構準則
    3.1.4  微服務應用的4層架構
    3.2  微服務平台
    3.3  服務層
    3.3.1  功能
    3.3.2  聚合與多元服務
    3.3.3  關鍵路徑和非關鍵路徑
    3.4  通信
    3.4.1  何時使用同步消息
    3.4.2  何時使用非同步消息

    3.4.3  非同步通信模式
    3.4.4  服務定位
    3.5  服務邊界
    3.5.1  API網關
    3.5.2  服務於前端的後端
    3.5.3  消費者驅動網關
    3.6  客戶端
    3.6.1  前端單體
    3.6.2  微前端
    3.7  小結
  第4章  新功能設計
    4.1  SimpleBank的新功能
    4.2  按業務能力劃分
    4.2.1  能力和領域建模
    4.2.2  創建投資策略
    4.2.3  內嵌型上下文和服務
    4.2.4  挑戰和不足
    4.3  按用例劃分
    4.3.1  按投資策略下單
    4.3.2  動作和存儲
    4.3.3  編配與編排
    4.4  按易變性劃分
    4.5  按技術能力劃分
    4.5.1  發送通知
    4.5.2  何時使用技術能力
    4.6  處理不確定性
    4.6.1  從粗粒度服務開始
    4.6.2  準備進一步分解
    4.6.3  下線和遷移
    4.7  組織中的服務所有權
    4.8  小結
  第5章  微服務的事務與查詢
    5.1  分散式應用的事務一致性
    5.2  基於事件的通信
    5.3  Saga
    5.3.1  編排型Saga
    5.3.2  編配型Saga
    5.3.3  交織型Saga
    5.3.4  一致性模式
    5.3.5  事件溯源
    5.4  分散式世界中的查詢操作
    5.4.1  保存數據副本
    5.4.2  查詢和命令分離
    5.4.3  CQRS挑戰
    5.4.4  分析和報表
    5.5  延伸閱讀
    5.6  小結
  第6章  設計高可靠服務
    6.1  可靠性定義
    6.2  哪些會出錯

    6.2.1  故障源
    6.2.2  連鎖故障
    6.3  設計可靠的通信方案
    6.3.1  重試
    6.3.2  後備方案
    6.3.3  超時
    6.3.4  斷路器
    6.3.5  非同步通信
    6.4  最大限度地提高服務可靠性
    6.4.1  負載均衡與服務健康
    6.4.2  限流
    6.4.3  驗證可靠性和容錯性
    6.5  默認安全
    6.5.1  框架
    6.5.2  服務網格
    6.6  小結
  第7章  構建可復用的微服務框架
    7.1  微服務底座
    7.2  微服務底座的目的
    7.2.1  降低風險
    7.2.2  快速啟動
    7.3  設計服務底座
    7.3.1  服務發現
    7.3.2  可觀測性
    7.3.3  平衡和限流
    7.4  探索使用底座實現的特性
    7.5  差異性是否是微服務的承諾
    7.6  小結
第三部分  部署
  第8章  微服務部署
    8.1  部署的重要性
    8.2  微服務生產環境
    8.2.1  微服務生產環境的特點
    8.2.2  自動化和速度
    8.3  部署服務的快捷方式
    8.3.1  服務啟動
    8.3.2  配置虛擬機
    8.3.3  運行多個服務實例
    8.3.4  添加負載均衡器
    8.3.5  開發者學到了什麼
    8.4  構建服務工件
    8.4.1  工件的組成
    8.4.2  不可變性
    8.4.3  服務工件的類型
    8.4.4  配置
    8.5  服務與主機關係模型
    8.5.1  單服務主機
    8.5.2  單主機多靜態服務
    8.5.3  單主機多調度化服務
    8.6  不停機部署服務

    8.7  小結
  第9章  基於容器和調度器的部署
    9.1  服務容器化
    9.1.1  鏡像使用
    9.1.2  構建鏡像
    9.1.3  運行容器
    9.1.4  鏡像存儲
    9.2  集群部署
    9.2.1  pod的設計與運行
    9.2.2  負載均衡
    9.2.3  快速揭秘
    9.2.4  健康檢查
    9.2.5  部署新版本服務
    9.2.6  回滾
    9.2.7  連接多個服務
    9.3  小結
  第10章  構建微服務交付流水線
    10.1  讓部署變得平淡
    10.2  使用Jenkins構建流水線
    10.2.1  構建流水線配置
    10.2.2  構建鏡像
    10.2.3  運行測試
    10.2.4  發布工件
    10.2.5  部署至預發布環境
    10.2.6  預發布環境
    10.2.7  部署生產環境
    10.3  構建可復用的流水線步驟
    10.4  降低部署影響以及實現功能發布的技術
    10.4.1  暗發布
    10.4.2  功能標記
    10.5  小結
第四部分  可觀測性和所有權
  第11章  構建監控系統
    11.1  穩固的監控技術棧
    11.1.1  良好的分層監控
    11.1.2  黃金標誌
    11.1.3  度量指標的類型
    11.1.4  實踐建議
    11.2  利用Prometheus和Grafana監控SimpleBank
    11.2.1  配置度量指標收集基礎設施
    11.2.2  收集基礎設施度量指標——RabbitMQ
    11.2.3  監控下單功能
    11.2.4  告警設置
    11.3  生成合理的可執行的告警
    11.3.1  系統出錯時哪些人需要知悉
    11.3.2  癥狀,而非原因
    11.4  監測整個應用
    11.5  小結
  第12章  使用日誌和鏈路追蹤了解系統行為
    12.1  了解服務間的行為

    12.2  生成一致的、結構化的、人類可讀的日誌
    12.2.1  日誌中的有用信息
    12.2.2  結構化和可讀性
    12.3  為SimpleBank配置日誌基礎設施
    12.3.1  基於ELK和Fluentd的解決方案
    12.3.2  配置日誌解決方案
    12.3.3  配置應收集哪些日誌
    12.3.4  大海撈針
    12.3.5  記錄合適的信息
    12.4  服務間的跟蹤交互
    12.4.1  請求關聯:trace和span
    12.4.2  在服務內配置鏈路追蹤
    12.5  鏈路追蹤可視化
    12.6  小結
  第13章  微服務團隊建設
    13.1  建設高效團隊
    13.1.1  康威定律
    13.1.2  高效團隊原則
    13.2  團隊模型
    13.2.1  按職能分組
    13.2.2  跨職能分組
    13.2.3  設置團隊邊界
    13.2.4  基礎設施、平台和產品
    13.2.5  誰負責值班
    13.2.6  知識共享
    13.3  微服務團隊的實踐建議
    13.3.1  微服務變更的驅動力
    13.3.2  架構的角色
    13.3.3  同質性與技術靈活性
    13.3.4  開源模型
    13.3.5  設計評審
    13.3.6  動態文檔
    13.3.7  回答應用的問題
    13.4  延伸閱讀
    13.5  小結
附錄A  在Minikube上安裝Jenkins

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032