高伸缩性系统 Erlang/OTP大型分布式容错设计pdf

图书网 2021年12月15日22:47:32
评论
1K
摘要

适读人群 :本书面向Erlang程序员,以及对Erlang/OTP感兴趣的开发人员。
如果你需要设计一套规模可伸缩且具有高可用性的容错系统,那么 Erlang/OTP 平台值得你去深入了解,因为其适用领域广阔、技术积累深厚,具备丰富功能的同时又贯彻了高度一致的设计思想。这本实践指南展示了使用 Erlang 编程语言及其 OTP 框架(其中包含许多可复用的库、工具和设计原则等),你将可以基于简单的理念开发出复杂的商业级别的系统,并具备故障免疫能力。
√ 探索 OTP 的基石:Erlang 编程语言、相关工具、可复用的库集合,以及相关抽象理念与设计规则。
√ 深入 OTP 实现可复用性的核心机制:各类进程行为模式内部涉及的 Erlang 进程结构。
√ 理解 OTP 中进程行为模式是如何为客户端-服务器结构、有限状态机模式、事件处理、运行时、代码集成等功能提供支持的。
√ 编写自己的进程行为模式以及特殊进程。
√ 使用 OTP 提供的工具、技术与架构来处理部署、监视和运维等。

高伸缩性系统 Erlang/OTP大型分布式容错设计 作者:(瑞典)弗朗西斯科·切萨里尼(Francesco Cesarini), (美)史蒂夫·温斯基(Steve Vinoski)

高伸缩性系统 Erlang/OTP大型分布式容错设计 出版社:电子工业出版社

高伸缩性系统 Erlang/OTP大型分布式容错设计 内容简介

《高伸缩性系统:Erlang/OTP大型分布式容错设计》是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP系统的优质书籍。两位作者均是深耕分布式计算领域超过20年的专家。《高伸缩性系统:Erlang/OTP大型分布式容错设计》内容兼具深度与广度,不仅带领读者通过一步步实践的方式深入剖析了 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

图书网:高伸缩性系统 Erlang/OTP大型分布式容错设计pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

人在职场

面试沟通巧技能pdf

适读人群 :本书可为广大求职者面试提供有益指导,也适合作为各层次毕业生找工作的指导用书。 面试,实质是沟通!谁掌握了面试沟通的巧技能,谁就获得了面试的致胜法宝。本书讲述了求职者在面...
人工智能

深度学习之PyTorch实战计算机视觉pdf

适读人群 :本书面向对深度学习技术感兴趣,但是相关基础知识较为薄弱或者零基础的读者。 作者的文笔很好,对深度学习、Python、PyTorch、神经网络、迁移学习及相关数学知识讲解...
项目管理IT人文

关键链pdf

关键链 作者: 艾利·高德拉特 译者: 罗嘉颖 关键链 出版社: 电子工业出版社 关键链 内容简介 《关键链(修订本)》内容简介:项目无处不在.但都有一定的特征:可动用的资源有限;有完成日期及开支限制...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: