[手册]面对软件错误构建可靠的分布式系统

来源: LUPA开源社区
发布时间: 2007-09-29 10:21 作者: webmaster 来源: 本站原创 版权申明

字体: | 上一篇 下一篇 | 打印


关键词: 分布式

文章来源于http://www.lupaworld.com
近年来,“多核”、“分布式计算”、“集群计算”、“大并发量处理”等名词逐步从实验室中的概念走向了大众社会的应用,并给许多公司带来了商业上的巨大成功。一个新的信息处理时代已经悄然来临,召唤着新的适应这个时代的软件开发方法和工具。其实早在1986年,在Ericsson就有一些专家开始了如何编写出可靠的分布式系统方面的探索和研究。这些研究成果,成就了可靠性达到99.9999999%的目前世界上最复杂的ATM交换机,并给我们带来了Erlang/OTP这套开源的开发工具和平台。Joe Armstrong先生就是Erlang的主要发明人,而本文就是Joe Armstrong的博士论文。
之初学习Erlang编程的时候,为了深入了解一下Erlang的设计哲学,我决定把这篇论文精读一遍。我想无一遗漏地精读的方式,就是把它翻译一回。邓辉先生(《敏捷软件开发——原则、模式与实践》中文版译者)鼓励我说,翻译吧,也算是给国内的Erlang这个小圈子做点贡献。于是似乎有了一些责任。既然是要公开出来的,任何细节就更不能毛糙了,也就迫使我查阅了许多背景资料,而这些论文以外的知识对于我平时的Erlang编程颇有助益,算是意外之得了。
跟其他的理工类博士论文不一样,本论文并没有堆砌大量的公式推导,而是以平铺直叙的方式,在解答“如何在存在软件错误的情况下编写出具有合理行为的软件?”这一核心问题的过程中,详细地阐述了Erlang/OTP的设计哲学。论文分析了构建可靠的分布式系统的一些系统需求、语言需求、库需求,介绍了完全针对这些需求而打造的JAM系统、Erlang语言和OTP开发库。本论文的重点不在于JAM的设计,不在于Erlang语言的描述,也不在于OTP库的介绍,虽然这些方面都有很多值得讨论的课题。本论文把重点放在了可容错的架构上,如何构建软件运行的模型?如何进行错误检测和恢复?如何实际编写出可容错的系统?本文的重点在于探讨这一系列的设计思想的问题。这是一门软件开发哲学,也是一个软件世界观。


下载地址:http://man.lupaworld.com/content/other/erlang.pdf
文章来源于http://www.lupaworld.com

声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。

查看全部评论(0)我来说两句 直接向LUPA提出您的宝贵建议

-5 -3 -1 - +1 +3 +5