高伸縮性系統:Erlang/OTP大型分佈式容錯設計 高伸缩性系统:Erlang/OTP大型分布式容错设计
弗朗西斯科·切薩里尼 (Francesco Cesarini), 史蒂夫·溫斯基 (Steve Vinoski)
- 出版商: 電子工業出版社
- 出版日期: 2018-06-01
- 售價: $690
- 貴賓價: 9.5 折 $656
- 語言: 簡體中文
- 頁數: 460
- 裝訂: 平裝
- ISBN: 7121337479
- ISBN-13: 9787121337475
-
相關分類:
Functional-programming 函數式程式語言
立即出貨
買這商品的人也買了...
-
售價: $237Erlang趣學指南
-
貴賓價: $507Java高並發編程詳解:多線程與架構設計
-
售價: $240人工智能基礎 (高中版)
-
$690售價: $483 -
$1,200售價: $948 -
貴賓價: $450AWS Lambda實戰:開發事件驅動的無服務器應用程序
-
貴賓價: $284亞馬遜 AWS 雲基礎與實戰
-
$880售價: $695 -
貴賓價: $393Python 計算機視覺編程 (Programming Computer Vision with Python)
-
$650售價: $507 -
售價: $356TensorFlow技術解析與實戰
-
貴賓價: $450Python 深度學習實戰:75個有關神經網絡建模、強化學習與遷移學習的解決方案
-
貴賓價: $393圖像局部特徵檢測和描述 基於 OpenCV 源碼分析的算法與實現
-
貴賓價: $393機器學習經典算法剖析 基於OpenCV
-
貴賓價: $542電腦視覺--一種現代方法, 2/e
-
貴賓價: $371GAN : 實戰生成對抗網絡
-
售價: $356深入淺出強化學習 : 原理入門
-
貴賓價: $456強化學習精要:核心算法與 TensorFlow 實現
-
貴賓價: $564響應式架構:消息模式 Actor 實現與 Scala、Akka 應用集成
-
貴賓價: $450深度學習 : Caffe 之經典模型詳解與實戰
-
售價: $356Keras 快速上手:基於 Python 的深度學習實戰
-
貴賓價: $279PySpark實戰指南:利用Python和Spark構建數據密集型應用並規模化部署(Learning PySpark)
-
貴賓價: $678Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)
-
貴賓價: $279統計思維:程序員數學之概率統計(第2版) (圖靈程序設計叢書)
-
貴賓價: $450數據科學實戰 (Doing Data Science)
商品描述
《高伸縮性系統:Erlang/OTP大型分佈式容錯設計》內容提要
《高伸縮性系統:Erlang/OTP大型分佈式容錯設計》是一本罕見的站在核心設計者而非普通開發者角度介紹 Erlang/OTP系統的權威書籍。兩位作者均是深耕分佈式計算領域超過20年的專家。《高伸縮性系統:Erlang/OTP大型分佈式容錯設計》內容兼具深度與廣度,不僅帶領讀者通過一步步實踐的方式深入剖析了 Erlang/OTP中各類核心進程的行為模式的設計原理,並且還介紹了特殊進程、自定義行為模式、發行包製作等高級主題。除此之外,還用了大量篇幅向讀者介紹了 Erlang/OTP系統中的設計原則、架構分佈式系統的方法,以及在此基礎上實現容錯和規模伸縮所需瞭解的相關知識。
對於任何一位渴望基於 Erlang/OTP構建出商業級的分佈式、高伸縮性、容錯型系統的開發者,《高伸縮性系統:Erlang/OTP大型分佈式容錯設計》都是不容錯過的經典之作。
目錄大綱
第1mso-hansi-font-family:Calibri"章概述 1
定義問題 2
OTP 4
Erlang 6
工具和庫 7
設計原則 9
Erlang Calibri;mso-hansi-font-family:Calibri"節點 10
分佈式、基礎設施、多核 11
總結 12
通過本書你將學到什麼 13
第2mso-hansi-font-family:Calibri"章Erlang.簡介. 18
遞歸與模式匹配 18
受函數式的影響 22
玩轉匿名函數 22
列表推導:生成與測試 23
進程與消息傳遞 25
不怕出錯 30
用於監督的鏈接與監視器 31
鏈接 31
監視器 33
記錄 34
映射組 37
宏 38
模塊升級 39
ETSmso-hansi-font-family:Calibri":Erlang 元素存儲 41
分佈式Erlang 44
命名與通信 45
節點間的連接與可見性 45
總結 47
接下來是什麼 47
第3mso-hansi-font-family:Calibri"章行為模式. 49
進程的骨架 49
設計模式 52
回調模塊 53
抽取出通用的行為模式 56
啟動server 57
clientmso-hansi-font-family:Calibri"函數 60
servermso-hansi-font-family:Calibri"循環 62
servermso-hansi-font-family:Calibri"內部函數 64
通用服務器 65
消息傳遞:冰山之下 68
總結 71
接下來是什麼 72
第4mso-hansi-font-family:Calibri"章通用型服務器.gen_server. 73
gen_server 73
behaviorCalibri;mso-hansi-font-family:Calibri"指令 74
啟動一個server 75
消息傳遞 77
同步式消息傳遞 78
異步式消息傳遞 79
其他消息 81
未處理的消息 82
同步客戶端 83
終止 84
調用超時 86
死鎖 89
通用型serverCalibri;mso-hansi-font-family:Calibri"的超時問題 90
使behaviorCalibri;mso-hansi-font-family:Calibri"休眠 92
全局化 92
鏈接behavior 94
總結 94
接下來是什麼 95
第5mso-hansi-font-family:Calibri"章深入控制OTP行為模式 96
sysmso-hansi-font-family:Calibri"模塊 96
追踪與記錄 96
消息 98
你自己的追踪函數 98
統計信息和當前狀態 99
sys mso-hansi-font-family:Calibri"模塊總結 102
分裂時的可選項 103
內存管理與垃圾回收 104
分裂時應該避免使用的可選項 108
超時 109
總結 109
接下來是什麼 109
第6mso-hansi-font-family:Calibri"章有限狀態機. 110
Erlang Calibri;mso-hansi-font-family:Calibri"風格的有限狀態機 111
Coffee FSM 112
硬件樁 114
Erlang Calibri;mso-hansi-font-family:Calibri"版咖啡機 114
gen_fsm 118
一個基於行為模式的例子 119
啟動FSM 119
發送事件 123
終止 132
總結 133
親力親為 134
電話控制器 134
讓我們測試一下 136
接下來是什麼 138
第7mso-hansi-font-family:Calibri"章事件處理器. 139
事件 139
通用事件管理器/處理器 141
啟動/停止事件管理器 141
添加事件處理器 142
刪除事件處理器 144
發送同步的或異步的事件 145
獲取數據 148
對以及無效返回值的處理 150
交換事件處理器 152
融會貫通 154
SASLmso-hansi-font-family:Calibri"警報處理器 157
總結 159
接下來是什麼 159
第8mso-hansi-font-family:Calibri"章監督者 160
監督樹 161
OTPmso-hansi-font-family:Calibri"監督者 165
監督者行為模式 166
啟動監督者 166
監督者規格 169
動態子進程 176
非OTPmso-hansi-font-family:Calibri"兼容進程 184
可伸縮性和短期進程 186
確定性同步啟動 187
測試你的監督策略 188
與傳統方法相比又如何 190
總結 190
接下來是什麼 191
第.9.mso-hansi-font-family:Calibri"章OTP.application 192
OTP applicationCalibri;mso-hansi-font-family:Calibri"是如何運行的 193
OTP applicationCalibri;mso-hansi-font-family:Calibri"的結構 194
回調模塊 198
啟動和停止application 198
applicationCalibri;mso-hansi-font-family:Calibri"資源文件 202
基站控制器的applicationCalibri;mso-hansi-font-family:Calibri"文件 204
啟動application 205
環境變量 208
applicationCalibri;mso-hansi-font-family:Calibri"的類型與終止策略 210
分佈式application 211
分階段啟動 215
內含型application 217
內含型application Calibri;mso-hansi-font-family:Calibri"的分階段啟動 217
將監督者與applicationCalibri;mso-hansi-font-family:Calibri"組合到一起 219
SASLmso-hansi-font-family:Calibri"應用 220
進度報告 224
報告 225
崩潰報告 226
監督者報告 227
總結 228
接下來是什麼 229
第.10.mso-hansi-font-family:Calibri"章基於特殊進程打造自己的behavior 230
特殊進程 230
互斥體 231
啟動特殊進程 232
互斥體的狀態 235
處理退出 236
消息 237
跟踪與日誌事件 238
合在一起 239
動態模塊和休眠 243
屬於你自己的behavior 244
創建behavior Calibri;mso-hansi-font-family:Calibri"時的要求 245
一個處理TCPmso-hansi-font-family:Calibri"流的例子 245
總結 249
接下來是什麼 250
第11mso-hansi-font-family:Calibri"章原則與發行包製作. 251
原則
252
發行包目錄結構 253
發行包資源文件 257
創建發行包 260
創建boot mso-hansi-font-family:Calibri"文件 262
打包發行包 271
啟動腳本以及目標上的配置 275
參數和標誌 277
initmso-hansi-font-family:Calibri"模塊 289
rebar3 290
生成一個rebar3 Calibri;mso-hansi-font-family:Calibri"發行包項目 292
使用rebar3 Calibri;mso-hansi-font-family:Calibri"創建發行包 295
使用rebar3 Calibri;mso-hansi-font-family:Calibri"處理製作發行包時的項目依賴問題 298
總結 300
接下來是什麼 304
第12mso-hansi-font-family:Calibri"章發行包升級 305
軟件升級 305
個版本的咖啡機FSM 308
添加一個新狀態 311
為發行包創建升級 314
負責升級的代碼 318
應用程序升級文件 322
指令 325
發行包升級文件 328
低級指令 330
安裝升級 332
發行包處理器 334
升級環境變量 338
升級特殊進程 338
在分佈式環境下升級 339
升級模擬器和核心application 340
使用Rebar3Calibri;mso-hansi-font-family:Calibri"進行升級 341
總結 344
接下來是什麼 346
第13mso-hansi-font-family:Calibri"章分佈式架構 347
節點類型與家族 348
聯網 351
分佈式Erlang 353
套接字與SSL 359
面向服務和微服務的架構 361
點對點 362
接口 364
總結 366
接下來是什麼 367
第.14.mso-hansi-font-family:Calibri"章停止的 368
可用性 368
容錯 369
彈性 370
可靠性 371
數據共享 375
一致性和可用性之間的權衡 383
總結 384
接下來是什麼 385
第.15.mso-hansi-font-family:Calibri"章水平規模伸縮 386
水平規模伸縮與垂直規模伸縮 386
容量規劃 390
容量測試 392
平衡你的 394
找尋瓶頸 396
藍圖 398
負載調節與背壓 399
總結 401
接下來是什麼 403
第16mso-hansi-font-family:Calibri"章監視與搶救性支持 404
監視 405
日誌 406
指標 411
警報 414
搶救性支持 416
總結 418
接下來是什麼 420
索引 421