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

微服務之道

  • 作者:(愛)理查德·羅傑|責編:李瑾|譯者:郭志軍
  • 出版社:人民郵電
  • ISBN:9787115611277
  • 出版日期:2023/04/01
  • 裝幀:平裝
  • 頁數:265
人民幣:RMB 89.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書力求揭示微服務設計背後的思想,引導讀者理解和構建微服務。全書分為兩部分。第一部分介紹微服務的工程原則,從具體的案例研究引入微服務的概念及優缺點,闡釋了如何決定要構建哪些微服務及服務間的通信,介紹了消息優先的方法,展示了微服務如何以更恰當的方式存儲和處理不同類型的數據,探討了如何在生產環境中運行大量微服務。第二部分介紹如何利用微服務架構的工程優勢來克服環境帶來的挑戰,以及度量微服務系統的方法,指導讀者一步步地從老的單體系統過渡到能夠輕鬆適應新功能需求的微服務系統,最後使用前面章節介紹的原則,從頭開始構建了一個完整的微服務系統。
    本書面向高級開發人員、軟體架構師、項目經理和產品經理,也適合那些關心如何更高效、更人性化地構建軟體的人閱讀。

作者介紹
(愛)理查德·羅傑|責編:李瑾|譯者:郭志軍
    理查德·羅傑(Richard Rodger),曾在愛爾蘭都柏林三一學院學習數學和哲學,在愛爾蘭沃特福德理工學院學習電腦科學。1986年開始在 Sinclair ZX Spectrum上寫代碼至今;Seneca微服務框架的維護者。會展業社交網路公司voxgig的首席執行官,擁有多年為大型跨國公司構建微服務系統的經驗。曾任移動應用SaaS平台FeedHenry(後來被Red Hat收購)的首席技術官,后與他人聯合創立了nearForm——關於Node.js和微服務的咨詢公司。他還著有Mobile Application Development in the Cloud(《移動雲計算應用開發入門經典》)(Wiley,2011)一書。

目錄
第一部分  構建微服務
  第1章  美麗新世界
    1.1  技術債務危機
    1.2  案例研究:微博初創公司
      1.2.1  迭代0:發布條目
      1.2.2  迭代1:搜索索引
      1.2.3  迭代2:簡單組合
      1.2.4  迭代3:時間線
      1.2.5  迭代4:擴展
    1.3  單體如何違背組件的承諾
    1.4  微服務理念
      核心技術原則
    1.5  實際意義
      1.5.1  規範
      1.5.2  部署
      1.5.3  安全
      1.5.4  人
    1.6  你的錢換來了什麼
    1.7  總結
  第2章  服務
    2.1  定義微服務
    2.2  案例研究:數字版報紙
      2.2.1  業務目標
      2.2.2  非正式需求
      2.2.3  功能分解
    2.3  微服務架構
      迷你Web伺服器架構
    2.4  微服務示意圖
    2.5  微服務依賴樹
      非同步消息架構
    2.6  單體項目與微服務項目
      2.6.1  微服務如何改變項目管理
      2.6.2  一致性使評估更容易
      2.6.3  一次性代碼讓團隊更和諧
      2.6.4  同質組件允許異構配置
      2.6.5  不同類型的代碼
    2.7  軟體單元
    2.8  從需求到消息再到服務
    2.9  微服務架構圖
      繪製消息流圖
    2.10  微服務是軟體組件
      2.10.1  封裝
      2.10.2  可重複使用
      2.10.3  定義明確的介面
      2.10.4  可組合
      2.10.5  微服務組件實踐
    2.11  微服務的內部結構
    2.12  總結
  第3章  消息
    3.1  消息是一等公民

      3.1.1  同步和非同步
      3.1.2  何時使用同步消息
      3.1.3  何時使用非同步消息
      3.1.4  從第一天開始就思考分散式
      3.1.5  減少失敗的策略
    3.2  案例研究:銷售稅規則
      更廣泛的背景
    3.3  模式匹配
      3.3.1  銷售稅:從簡單開始
      3.3.2  銷售稅:處理類別
      3.3.3  銷售稅:走向全球
      3.3.4  業務需求顯然會發生變化
      3.3.5  模式匹配降低了重構的成本
    3.4  傳輸獨立性
      一個有用的虛構:無所不能的觀察者
    3.5  消息模式
      3.5.1  核心模式:一條消息/兩個服務
      3.5.2  核心模式:兩條消息/兩個服務
      3.5.3  核心模式:一條消息/n 個服務
      3.5.4  核心模式:m 條消息/n 個服務
      3.5.5  m/n:鏈
      3.5.6  m/n:樹
      3.5.7  擴展消息
    3.6  當消息出問題時
      3.6.1  常見故障場景及如何應對
      3.6.2  請求/響應交互故障
      3.6.3  響尾蛇交互的故障
      3.6.4  贏家通吃交互的故障
      3.6.5  即發即棄交互的故障
    3.7  總結
  第4章  數據
    4.1  數據與想象不同
      4.1.1  數據同質而非異質
      4.1.2  數據可以私有
      4.1.3  數據可以是本地的
      4.1.4  數據可以自由處置
      4.1.5  數據不一定要準確
    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.3.4  事務並不像想象的那麼好
      4.3.5  模式引起技術債務
    4.4  微服務數據實用決策指南
      4.4.1  全新項目

      4.4.2  改造項目
    4.5  總結
  第5章  部署
    5.1  事物的崩潰
    5.2  從歷史中吸取教訓
      5.2.1  三英里島
      5.2.2  軟體系統故障模型
      5.2.3  冗余並不像想象的那樣
      5.2.4  更改很可怕
    5.3  妄想經不起反駁
      完美軟體的成本
    5.4  混亂的系統
    5.5  微服務和冗余
    5.6  持續交付
      5.6.1  管道
      5.6.2  流程
      5.6.3  保護
    5.7  運行微服務系統
      5.7.1  不變性
      5.7.2  自動化
      5.7.3  複原能力
      5.7.4  驗證
      5.7.5  發現
      5.7.6  配置
      5.7.7  安全
      5.7.8  階段系統
      5.7.9  開發
    5.8  總結 152 目錄
第二部分  運行微服務
  第6章  測量
    6.1  傳統監控的局限性
      6.1.1  經典配置
      6.1.2  平均數的問題
      6.1.3  使用百分位數
      6.1.4  微服務配置
      6.1.5  散點圖的威力
      6.1.6  構建儀錶板
    6.2  微服務的測量
      6.2.1  業務層
      6.2.2  消息層
      6.2.3  服務層
    6.3  不變數的威力
      6.3.1  從業務邏輯中尋找不變數
      6.3.2  從系統架構中尋找不變數
      6.3.3  可視化不變數
      6.3.4  理解系統
      6.3.5  合成驗證
    6.4  總結
  第7章  遷移
    7.1  經典電子商務示例

      7.1.1  舊架構
      7.1.2  軟體交付過程
    7.2  更改目標
      在實踐中應用政治
    7.3  開始旅程
    7.4  扼殺者策略
      7.4.1  部分代理
      7.4.2  當不能遷移時該怎麼辦
      7.4.3  新項目的策略
      7.4.4  宏服務策略
    7.5  優化策略
    7.6  從一般到具體
      7.6.1  向產品頁面添加功能
      7.6.2  向購物車添加功能
      7.6.3  處理橫向問題
    7.7  總結
  第8章  人
    8.1  應對公司政治
      8.1.1  接受硬性限制
      8.1.2  尋找支持者
      8.1.3  保持溝通合作
      8.1.4  以價值為中心的交付
      8.1.5  可接受的錯誤率
      8.1.6  刪減功能
      8.1.7  停止抽象
      8.1.8  反灌輸
      8.1.9  外部認可
      8.1.10  團隊協作
      8.1.11  尊重公司
    8.2  微服務的政治
      8.2.1  誰擁有什麼
      8.2.2  誰在待命
      8.2.3  誰決定代碼內容
    8.3  總結
  第9章  案例研究:Nodezoo.com
    9.1  設計
      9.1.1  業務需求是什麼
      9.1.2  消息是什麼
      9.1.3  有哪些服務
    9.2  交付
      9.2.1  迭代1:本地開發
      9.2.2  迭代2:測試、階段系統和風險測量
      9.2.3  迭代3:生產路徑
      9.2.4  迭代4:增強和適應
      9.2.5  迭代5:監控和調試
      9.2.6  迭代6:擴展和性能
    9.3  結語

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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