高伸缩性系统:ERLANG/OTP大型分布式容错设计
本书特色
[
这是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP 系统的权威书籍。两位作者均是深耕分布式计算领域超过20年的专家。本书内容兼具深度与广度,不仅带领读者通过一步步实践的方式深入剖析了 Erlang/OTP 中各类核心进程的行为模式的设计原理,并且还介绍了特殊进程、自定义行为模式、发行包制作等高级主题。除此之外,还用了大量篇幅向读者介绍了 Erlang/OTP 系统中的设计原则、架构分布式系统的方法,以及在此基础上实现容错和规模伸缩所需了解的相关知识。对于任何一位渴望基于 Erlang/OTP 构建出商业级的分布式、高伸缩性、容错型系统的开发者,本书都是不容错过的经典之作。
]
内容简介
[
这是一本罕见的站在核心设计者而非普通开发者角度介绍 Erlang/OTP 系统的书籍。两位作者均是深耕分布式计算领域超过20年的专家。本书内容兼具深度与广度,不仅带领读者通过一步步实践的方式深入剖析了 Erlang/OTP 中各类核心进程的行为模式的设计原理,并且还介绍了特殊进程、自定义行为模式、发行包制作等不错主题。除此之外,还用了大量篇幅向读者介绍了 Erlang/OTP 系统中的设计原则、架构分布式系统的方法,以及在此基础上实现容错和规模伸缩所需了解的相关知识。对于任何一位渴望基于 Erlang/OTP 构建出商业级的分布式、高伸缩性、容错型系统的开发者,本书都是不容错过的经典之作。
]
作者简介
[
佛朗西斯科?切萨利尼(Francesco Cesarini)是 Erlang Solutions 公司的创始人与技术总监。早在 1995年,他便在爱立信计算机科学实验室——Erlang 的诞生地——开始了实习生涯,自那开始至今,他每天都在使用 Erlang 编程语言。之后他转到了爱立信的 Erlang 培训与咨询部门,参与开发了 OTP 的 R1 版本,致力于提供*级电信应用的一站式解决方案。1999 年,Erlang 转为开源方式发布后不久,他便开始创业,最终发展成了如今我们所见的 Erlang Solutions 公司。该公司跨越三大洲,在七个国家设有办事处,已成为高伸缩性、高可用性的端到端解决方案领域的*合作伙伴。作为技术总监,佛朗西斯科领导 Erlang Solutions 公司的开发和咨询团队,负责产品和战略研究。他同时还是Erlang Programming一书的合著者,该书由 O’Reilly 出版社出版。他在哥德堡IT大学(IT University of Gothenburg)讲课已超过10年,并且自 2010 年起开始在牛津大学教授面向并发的编程(concurrency-oriented programming)课程。你可以通过搜索 @FrancescoC 在 Twitter 上找到他。—-史蒂夫?温斯基是 Arista Networks 公司的软件开发人员。在他超过30年的软件开发生涯中,大部分时间都在从事中间件与分布式计算系统的研发。直到 2006 年,在他已经用 C 和 Java 开发中间件系统 20 年后,他发现了 Erlang,自那以后,他便开始把 Erlang 作为自己的主力开发语言。史蒂夫曾经为各种各样的 Erlang 项目做过贡献,包括 Riak 数据库与 Yaws Web 服务器等。他还为 Erlang/OTP 代码库贡献过许许多多的功能修正与增强补丁。佛朗西斯科?切萨利尼(Francesco Cesarini)是 Erlang Solutions 公司的创始人与技术总监。早在 1995年,他便在爱立信计算机科学实验室——Erlang 的诞生地——开始了实习生涯,自那开始至今,他每天都在使用 Erlang 编程语言。之后他转到了爱立信的 Erlang 培训与咨询部门,参与开发了 OTP 的 R1 版本,致力于提供*级电信应用的一站式解决方案。1999 年,Erlang 转为开源方式发布后不久,他便开始创业,最终发展成了如今我们所见的 Erlang Solutions 公司。该公司跨越三大洲,在七个国家设有办事处,已成为高伸缩性、高可用性的端到端解决方案领域的*合作伙伴。作为技术总监,佛朗西斯科领导 Erlang Solutions 公司的开发和咨询团队,负责产品和战略研究。他同时还是Erlang Programming一书的合著者,该书由 O’Reilly 出版社出版。他在哥德堡IT大学(IT University of Gothenburg)讲课已超过10年,并且自 2010 年起开始在牛津大学教授面向并发的编程(concurrency-oriented programming)课程。你可以通过搜索 @FrancescoC 在 Twitter 上找到他。—-史蒂夫?温斯基是 Arista Networks 公司的软件开发人员。在他超过30年的软件开发生涯中,大部分时间都在从事中间件与分布式计算系统的研发。直到 2006 年,在他已经用 C 和 Java 开发中间件系统 20 年后,他发现了 Erlang,自那以后,他便开始把 Erlang 作为自己的主力开发语言。史蒂夫曾经为各种各样的 Erlang 项目做过贡献,包括 Riak 数据库与 Yaws Web 服务器等。他还为 Erlang/OTP 代码库贡献过许许多多的功能修正与增强补丁。
林建入,资深程序员,熟悉网络协议与分布式系统设计以及其他。优点是开朗、话多,热爱家庭,志存高远,亲切友好。缺点是一有机会就溜去游戏厅打拳皇,玩了20年竟也不腻,我都拍着胸口佩服我自己,但是最近总被爱妻抓回家有点困扰。
]
目录
目录第 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跟踪与日志事件
封面
书名:高伸缩性系统:ERLANG/OTP大型分布式容错设计
作者:(英)Francesco Cesarin
页数:460
定价:¥115.0
出版社:电子工业出版社
出版日期:2017-06-01
ISBN:9787121337475
PDF电子书大小:63MB 高清扫描完整版
本文标题:《高伸缩性系统:ERLANG/OTP大型分布式容错设计》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!