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

反應式應用開發

  • 作者:(美)鄧肯·德沃爾//肖恩·沃爾什//布賴恩·哈納菲|責編:王軍|譯者:蒲成
  • 出版社:清華大學
  • ISBN:9787302563563
  • 出版日期:2020/10/01
  • 裝幀:平裝
  • 頁數:261
人民幣:RMB 69.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    關鍵任務型應用必須立即響應負載的變化、從故障中優雅地恢復並滿足對性能、成本和可靠性的嚴格要求。這可不是什麼小任務!反應式設計能夠通過模塊化、消息驅動的架構、創新的工具和基於雲的基礎設施更容易地滿足這些需求。
    《反應式應用開發》介紹如何使用反應式設計模式構建可靠的企業級應用。本書首先介紹了反應式思維模型以及對Akka參與者框架等核心技術的審視。然後使用Scala構建了一個概念驗證系統,並講解CQRS和事件溯源等模式的應用。在實現伸縮性和回彈性、與傳統架構集成以及理解強大的測試技術的同時,讀者將掌握反應式設計原則。

作者介紹
(美)鄧肯·德沃爾//肖恩·沃爾什//布賴恩·哈納菲|責編:王軍|譯者:蒲成

目錄
第Ⅰ部分  基礎知識
  第1章  什麼是反應式應用
    1.1  為何需要反應式應用
    1.1.1  分散式計算
    1.1.2  雲計算
    1.2  網上購物車:表象之下的複雜性
    1.2.1  單體式架構:難以分佈
    1.2.2  反應式架構:默認就是分散式的
    1.2.3  理解反應式架構
    1.2.4  單體式購物車:創建訂單
    1.2.5  事件溯源:銀行賬戶登記
    1.2.6  反應式購物車:使用事件溯源創建訂單
    1.3  反應式應用能對哪些對象做出反應
    1.4  通過本書能學到什麼
    1.4.1  使用松耦合設計的非同步通信
    1.4.2  伸縮性
    1.4.3  回彈性
    1.4.4  響應性
    1.4.5  測試
    1.5  本章小結
  第2章  初識Akka
    2.1  理解消息和參與者
    2.1.1  從函數轉向參與者
    2.1.2  使用參與者和消息進行領域建模
    2.1.3  定義消息
    2.1.4  定義參與者
    2.2  安裝示例項目
    2.3  啟動參與者系統
    2.3.1  創建驅動
    2.3.2  運行驅動程序
    2.4  跨多個系統分佈參與者
    2.4.1  分佈到兩個JVM
    2.4.2  為遠程參與者進行配置
    2.4.3  設置驅動程序
    2.4.4  運行分散式參與者
    2.5  使用多個參與者進行擴展
    2.5.1  傳統方案
    2.5.2  像參與者函數那樣路由
    2.6  創建參與者池
    2.6.1  添加池路由器
    2.6.2  運行池化的參與者系統
    2.7  使用多參與者系統進行擴展
    2.7.1  添加分組路由器
    2.7.2  運行多個參與者系統
    2.8  應用反應式原則
    2.9  本章小結
  第3章  理解Akka
    3.1  Akka是什麼
    3.2   Akka現狀
    3.2.1   變得可響應

    3.2.2  可靠地保留數據
    3.2.3  需求越來越大的回彈性和易伸縮性
    3.2.4  使用Spark支持大數據
    3.3  Akka專用術語
    3.3.1  併發和並行
    3.3.2  非同步和同步
    3.3.3  競爭
    3.3.4  完全無共享
    3.4  參與者
    3.4.1  狀態
    3.4.2  參與者引用
    3.4.3  非同步消息傳遞
    3.4.4  郵箱
    3.4.5  行為和receive循環
    3.4.6  監管
    3.5  參與者系統
    3.5.1  層級結構
    3.5.2  監管
    3.5.3  參與者路徑
    3.5.4  參與者生命周期
    3.5.5  微內核容器
    3.6  本章小結
第Ⅱ部分  構建反應式應用
  第4章  從領域映射到工具集
    4.1  基於領域模型進行設計
    4.1.1  一種更好的解決方案
    4.1.2  從類比轉嚮應用
    4.1.3  創建卡片目錄
    4.2  轉變為消息驅動
    4.3  使用消息控制參與者狀態
    4.3.1  向自己發送消息
    4.3.2  使用狀態改變行為
    4.3.3  管理更多的複雜交互
    4.3.4  保持簡單性
    4.3.5  運行應用
    4.3.6  進展回顧
    4.4  增大伸縮性
    4.4.1  Akka路由
    4.4.2  調度器
    4.4.3  運行具有路由器的應用
    4.5  回彈性
    4.5.1  故障的Librarian參與者
    4.5.2  運行故障應用
    4.5.3  Librarian監管
    4.5.4  運行具有回彈監管的應用
    4.6  本章小結
  第5章  領域驅動設計
    5.1  什麼是領域驅動設計
    5.1.1  大泥球
    5.1.2  限界上下文

    5.1.3  通用語言
    5.1.4  實體、聚合與值對象
    5.1.5  服務、倉儲和工廠
    5.1.6  防腐層
    5.1.7  分層架構
    5.1.8  Saga
    5.1.9  共享內核
    5.2  基於參與者的領域
    5.2.1  簡單的Akka航班領域
    5.2.2  Aircraft參與者
    5.2.3  Akka Process Manager
    5.3  本章小結
  第6章  使用遠程參與者
    6.1  重構為分散式系統
    6.1.1  劃分成多個參與者系統
    6.1.2  使用sbt進行結構化
    6.2  配置應用
    6.2.1  創建第一個驅動程序
    6.2.2  引入application.conf
    6.2.3  使用HOCON
    6.2.4  配置應用
    6.3  使用Akka進行遠程通信
    6.3.1  構造遠程引用
    6.3.2  解析引用
    6.3.3  在客戶端之間進行替換
    6.3.4  創建另一個驅動程序
    6.4  運行分散式示例
    6.4.1  啟動Customer驅動程序
    6.4.2  啟動RareBooks驅動程序
    6.4.3  創建一些顧客
    6.4.4  檢查結果
    6.5  分散式系統中的可靠性
    6.5.1  將可靠性作為一種設計規範
    6.5.2  Akka提供的保障方法
    6.6  本章小結
  第7章  反應式流
    7.1  緩存過多的消息
    7.2  使用背壓進行防護
    7.2.1  停止和等待
    7.2.2  表明多條消息的信號
    7.2.3  流的控制
    7.3  使用Akka進行流處理
    7.3.1  將流添加到項目
    7.3.2  從文件創建流的源
    7.3.3  轉換流
    7.3.4  將流轉換成參與者消息
    7.3.5  小結
    7.4  Reactive Streams介紹
    7.4.1  創建反應式流
    7.4.2  消費反應式流

    7.4.3  構建使用流處理的應用
    7.5  本章小結
  第8章  CQRS與事件溯源
    8.1  面向CQRS/ES的驅動因素
    8.1.1  ACID事務
    8.1.2  傳統的RDBMS缺乏分片
    8.1.3  CRUD
    8.2  CQRS的起源:命令、查詢以及兩條不同的路徑
    8.3  CQRS中的C
    8.3.1  什麼是命令
    8.3.2  拒絕
    8.3.3  原子性
    8.3.4  雜而不精
    8.3.5  行為的欠缺
    8.3.6  訂單示例:訂單命令
    8.3.7  不間斷命令驗證
    8.3.8  衝突解決
    8.4  CQRS中的Q
    8.4.1  阻抗不匹配
    8.4.2  什麼是查詢
    8.4.3  不必動態查詢
    8.4.4  對比SQL與NoSQL資料庫
    8.5  事件溯源
    8.5.1  什麼是事件
    8.5.2  所有一切都與行為有關
    8.5.3  分散式事務之外的考慮事項
    8.5.4  訂單示例
    8.5.5  再談一致性
    8.5.6  重試模式
    8.5.7  對比命令溯源與事件溯源
    8.6  本章小結
  第9章  反應式介面
    9.1  什麼是反應式介面
    9.1.1  API層
    9.1.2  無頭API
    9.2  表述性RESTful介面
    9.2.1  對比JSON與XML
    9.2.2  表述性RESTful介面URL
    9.2.3  Location
    9.3  選擇反應式API庫
    9.3.1  Play
    9.3.2  專斷
    9.3.3  Play應用的結構
    9.3.4  簡單路由
    9.3.5  非阻塞服務介面
    9.4  Akka HTTP:一個簡單的CQRS式的服務
    9.5  Lagom:訂單示例
    9.6  Play、Akka HTTP和Lagom之間的對比
    9.7  本章小結
  第10章  生產上線準備

    10.1  測試反應式應用
    10.1.1  識別測試模式
    10.1.2  測試併發行為
    10.2  應用安全防護
    10.2.1  認識STRIDE中定義的威脅
    10.2.2  禦敵於國門之外
    10.2.3  添加HTTPS
    10.3  對參與者進行日誌記錄
    10.3.1  可堆疊日誌
    10.3.2  配置日誌系統
    10.4  跟蹤消息
    10.4.1  使用Dapper模式收集跟蹤數據
    10.4.2  減少對OpenTracing的依賴
    10.4.3  集成OpenTracing與Akka
    10.4.4  使用Spider模式找出路徑
    10.5  監控反應式應用
    10.5.1  使用Lightbend Monitoring監控核心指標
    10.5.2  使用Kamon創建自定義指標
    10.6  應對故障
    10.6.1  決定要重啟的對象
    10.6.2  路由考量
    10.6.3  某種程度上的恢復
    10.7  部署到雲端
    10.7.1  要素隔離
    10.7.2  將參與者Docker化
    10.7.3  其他打包選項
    10.8  本章小結

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