| 作者 |
| (英)Francesco Cesarini(弗朗西斯科 切萨里尼) (美)Steve Vinoski(史蒂夫 温斯基) |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121337475 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 《高伸缩性系统:Erlang/OTP大型分布式容错设计》是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP系统的权威书籍。两位作者均是深耕分布式计算领域超过20年的专家。《高伸缩性系统:Erlang/OTP大型分布式容错设计》内容兼具深度与广度,不仅带领读者通过一步步实践的方式深入剖析了 Erlang/OTP中各类核心进程的行为模式的设计原理,并且还介绍了特殊进程、自定义行为模式、发行包制作等高级主题。除此之外,还用了大量篇幅向读者介绍了 Erlang/OTP系统中的设计原则、架构分布式系统的方法,以及在此基础上实现容错和规模伸缩所需了解的相关知识。 对于任何一位渴望基于 Erlang/OTP构建出商业级的分布式、高伸缩性、容错型系统的开发者,《高伸缩性系统:Erlang/OTP大型分布式容错设计》都是不容错过的经典之作。 |
| 目录 |
| 第 1章 概述 1 定义问题 2 OTP 4 Erlang 6 工具和库 7 系统设计原则 9 Erlang 节点 10 分布式、基础设施、多核 11 总结 12 通过本书你将学到什么 13 第 2章 Erlang.简介. 18 递归与模式匹配 18 受函数式的影响 22 玩转匿名函数 22 列表推导:生成与测试 23 进程与消息传递 25 不怕出错 30 用于监督的链接与监视器 31 链接 31 监视器 33 记录 34 映射组 37 宏 38 模块升级 39 ETS:Erlang 元素存储 41 分布式 Erlang 44 命名与通信 45 节点间的连接与可见性 45 总结 47 接下来是什么 47 第 3章 行为模式. 49 进程的骨架 49 设计模式 52 回调模块 53 抽取出通用的行为模式 56 启动 server 57 client函数 60 server循环 62 server内部函数 64 通用服务器 65 消息传递:冰山之下 68 总结 71 接下来是什么 72 第 4章 通用型服务器.gen_server. 73 gen_server 73 behavior指令 74 启动一个 server 75 消息传递 77 同步式消息传递 78 异步式消息传递 79 其他消息 81 未处理的消息 82 同步客户端 83 终止 84 调用超时 86 死锁 89 通用型 server的超时问题 90 使 behavior休眠 92 全局化 92 链接 behavior 94 总结 94 接下来是什么 95 第 5章 深入控制 OTP行为模式 96 sys模块 96 追踪与记录 96 系统消息 98 你自己的追踪函数 98 统计信息和当前状态 99 sys 模块总结 102 分裂时的可选项 103 内存管理与垃圾回收 104 分裂时应该避免使用的可选项 108 超时 109 总结 109 接下来是什么 109 第 6章 有限状态机. 110 Erlang 风格的有限状态机 111 Coffee FSM 112 硬件桩 114 Erlang 版咖啡机 114 gen_fsm 118 一个基于行为模式的例子 119 启动 FSM 119 发送事件 123 终止 132 总结 133 亲力亲为 134 电话控制器 134 让我们测试一下 136 接下来是什么 138 第 7章 事件处理器. 139 事件 139 通用事件管理器/处理器 141 启动/停止事件管理器 141 添加事件处理器 142 删除事件处理器 144 发送同步的或异步的事件 145 获取数据 148 对错误以及无效返回值的处理 150 交换事件处理器 152 融会贯通 154 SASL警报处理器 157 总结 159 接下来是什么 159 第 8章 监督者 160 监督树 161 OTP监督者 165 监督者行为模式 166 启动监督者 166 监督者规格 169 动态子进程 176 非 OTP兼容进程 184 可伸缩性和短期进程 186 确定性同步启动 187 测试你的监督策略 188 与传统方法相比又如何 190 总结 190 接下来是什么 191 第.9.章 OTP.application 192 OTP application是如何运行的 193 OTP application的结构 194 回调模块 198 启动和停止 application 198 application资源文件 202 基站控制器的 application文件 204 启动 application 205 环境变量 208 application的类型与终止策略 210 分布式 application 211 分阶段启动 215 内含型 application 217 内含型 application 的分阶段启动 217 将监督者与 application组合到一起 219 SASL应用 220 进度报告 224 错误报告 225 崩溃报告 226 监督者报告 227 总结 228 接下来是什么 229 第.10.章 基于特殊进程打造自己的 behavior 230 特殊进程 230 互斥体 231 启动特殊进程 232 互斥体的状态 235 处理退出 236 系统消息 237 跟踪与日志事件 238 合在一起 239 动态模块和休眠 243 属于你自己的 behavior 244 创建 behavior 时的要求 245 一个处理 TCP流的例子 245 总结 249 接下来是什么 250 第 11章 系统原则与发行包制作. 251 系统原则 252 发行包结构 253 发行包资源文件 257 创建发行包 260 创建 boot 文件 262 打包发行包 271 启动脚本以及目标上的配置 275 参数和标志 277 init模块 289 rebar3 290 生成一个 rebar3 发行包项目 292 使用 rebar3 创建发行包 295 使用 rebar3 处理制作发行包时的项目依赖问题 298 总结 300 接下来是什么 304 第 12章 发行包升级 305 软件升级 305 第一个版本的咖啡机 FSM 308 添加一个新状态 311 为发行包创建升级 314 负责升级的代码 318 应用程序升级文件 322 高级指令 325 发行包升级文件 328 低级指令 330 安装升级 332 发行包处理器 334 升级环境变量 338 升级特殊进程 338 在分布式环境下升级 339 升级模拟器和核心 application 340 使用 Rebar3进行升级 341 总结 344 接下来是什么 346 第 13章 分布式架构 347 节点类型与家族 348 联网 351 分布式 Erlang 353 套接字与 SSL 359 面向服务和微服务的架构 361 点对点 362 接口 364 总结 366 接下来是什么 367 第.14.章 永不停止的系统 368 可用性 368 容错 369 弹性 370 可靠性 371 数据共享 375 一致性和可用性之间的权衡 383 总结 384 接下来是什么 385 第.15.章 水平规模伸缩 386 水平规模伸缩与垂直规模伸缩 386 容量规划 390 容量测试 392 平衡你的系统 394 找寻瓶颈 396 系统蓝图 398 负载调节与背压 399 总结 401 接下来是什么 403 第 16章 监视与抢救性支持 404 监视 405 日志 406 指标 411 警报 414 抢救性支持 416 总结 418 接下来是什么 420 索引 421 |