下载中心
高伸缩性系统:ErlangOTP大型分布式容错设计pdf
1星 发布者: sigma

2022-08-23 | 1积分 | 275.63MB |  6 次下载

下载 收藏 评论

文档简介
标签: 分布式

分布式

这是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP 系统的书籍。两位作者均是深耕分布式计算领域超过20年的专家。本书内容兼具深度与广度,不仅带领读者通过一步步实践的方式深入剖析了 Erlang/OTP 中各类核心进程的行为模式的设计原理,并且还介绍了特殊进程、自定义行为模式、发行包制作等不错主题。除此之外,还用了大量篇幅向读者介绍了 Erlang/OTP 系统中的设计原则、架构分布式系统的方法,以及在此基础上实现容错和规模伸缩所需了解的相关知识。对于任何一位渴望基于 Erlang/OTP 构建出商业级的分布式、高伸缩性、容错型系统的开发者,本书都是不容错过的经典之作。

章 概述1

定义问题2

OTP4

Erlang6

工具和库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

分布式Erlang44

命名与通信45

节点间的连接与可见性45

总结47

接下来是什么47

第3章 行为模式.49

进程的骨架49

设计模式52

回调模块53

抽取出通用的行为模式56

启动server57

client函数60

server循环62

server内部函数64

通用服务器65

消息传递:冰山之下68

总结71

接下来是什么72

第4章 通用型服务器.gen_server.73

gen_server73

behavior指令74

启动一个server75

消息传递77

同步式消息传递78

异步式消息传递79

其他消息81

未处理的消息82

同步客户端83

终止84

调用超时86

死锁89

通用型server的超时问题90

使behavior休眠92

全局化92

链接behavior94

总结94

接下来是什么95

第5章 深入控制OTP行为模式96

sys模块96

追踪与记录96

系统消息98

你自己的追踪函数98

统计信息和当前状态99

sys模块总结102

分裂时的可选项103

内存管理与垃圾回收104

分裂时应该避免使用的可选项108

超时109

总结109

接下来是什么109

第6章 有限状态机.110

Erlang风格的有限状态机111

CoffeeFSM112

硬件桩114

Erlang版咖啡机114

gen_fsm118

一个基于行为模式的例子119

启动FSM119

发送事件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.application192

OTPapplication是如何运行的193

OTPapplication的结构194

回调模块198

启动和停止application198

application资源文件202

基站控制器的application文件204

启动application205

环境变量208

application的类型与终止策略210

分布式application211

分阶段启动215

内含型application217

内含型application的分阶段启动217

将监督者与application组合到一起219

SASL应用220

进度报告224

错误报告225

崩溃报告226

监督者报告227

总结228

接下来是什么229

0章 基于特殊进程打造自己的behavior230

特殊进程230

互斥体231

启动特殊进程232

互斥体的状态235

处理退出236

系统消息237

跟踪与日志事件238

合在一起239

动态模块和休眠243

属于你自己的behavior244

创建behavior时的要求245

一个处理TCP流的例子245

总结249

接下来是什么250

1章 系统原则与发行包制作.251

系统原则252

发行包目录结构253

发行包资源文件257

创建发行包260

创建boot文件262

打包发行包271

启动脚本以及目标上的配置275

参数和标志277

init模块289

rebar3290

生成一个rebar3发行包项目292

使用rebar3创建发行包295

使用rebar3处理制作发行包时的项目依赖问题298

总结300

接下来是什么304

2章 发行包升级305

软件升级305

个版本的咖啡机FSM308

添加一个新状态311

为发行包创建升级314

负责升级的代码318

应用程序升级文件322

高级指令325

发行包升级文件328

低级指令330

安装升级332

发行包处理器334

升级环境变量338

升级特殊进程338

在分布式环境下升级339

升级模拟器和核心application340

使用Rebar3进行升级341

总结344

接下来是什么346

3章 分布式架构347

节点类型与家族348

联网351

分布式Erlang353

套接字与SSL359

面向服务和微服务的架构361

点对点362

接口364

总结366

接下来是什么367

4章 永不停止的系统368

可用性368

容错369

弹性370

可靠性371

数据共享375

一致性和可用性之间的权衡383

总结384

接下来是什么385

5章 水平规模伸缩386

水平规模伸缩与垂直规模伸缩386

容量规划390

容量测试392

平衡你的系统394

找寻瓶颈396

系统蓝图398

负载调节与背压399

总结401

接下来是什么403

6章 监视与抢救性支持404

监视405

日志406

指标411

警报414

抢救性支持416

总结418

接下来是什么420

索引421

评论
推荐下载
查看更多
相关视频
  • 控制系统仿真与CAD

  • PLC功能指令应用详解

  • 微波毫米波电路分析与设计

  • Android车载系统框架

  • 天线原理与基本参数

  • 嵌入式电机驱动 SoC NSUC1610 的座椅通风应用解说

推荐帖子
精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

×