[手册]编写分布式的Erlang程序:陷阱和对策(中文版)

来源: LUPA开源社区
发布时间: 2007-11-22 14:06 作者: webmaster 来源: 本站原创 版权申明

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


关键词: 手册

文章来源于http://www.lupaworld.com
摘要
为了在Erlang运行时系统基础上开发更可靠的分布式系统和算法,我们研究了Erlang编程语言中分布式的部分。使用Erlang,把一个运行在单个节点上的程序转换成完全分布式(运行在多个节点上)的应用程序可谓易如反掌(只需要修改对spawn函数的调用,使之在不同节点上产生进程);但尽管如此,Erlang语言和API中仍然有一些阴暗的角落可能在引入分布式运算时带来问题。在本文中,我们将介绍几个这样的陷阱:在这些地方,取决于进程是否运行在同一个节点上,进程间通信的语义会有显著的差异。我们同时还提供了一些关于“编写安全的分布式系统”的指导原则。
分类和主题描述D.3.3【编程语言】:语言构造和特性
关键字:可靠性
1. 简介
我们希望能够编写和调试用到Erlang的分布式进程通信机制的分布式算法,为此我们必须清楚Erlang的分布机制对进程间通信提供了哪些保障——要判断这些保障是否与我们的分布式算法的各种需求相符,首先必须了解它们。很大部分的研究工作都是在为Erlang编程语言(包括分布机制)开发形式化语义[CS05]。在实现“分布式Erlang”的模型检查器[FS07]时,我们有几处无法完全肯定形式化语义是否精确描述了Erlang分布层的行为。但由于并非所有关于分布式支持的重要部分都有文档记录1,做一些试探工作自然是必不可少的。我们编写了大量程序来测试运行时系统的各种基本特性,同时对运行时系统的源代码也做了检验,从而逐渐勾勒出Erlang语言中分布式部分的真实行为。
我们得到的成果是另一篇关于精化Erlang分布式语义的论文[SF07],以及本文:我们将在文中着重关注Erlang目前提供的分布式支持带来的实际效果——我们将展示哪些代码会出错,并就“如何借助Erlang的分布机制编写可靠的分布式应用”提出我们的建议。
下载地址:
中文版:http://man.lupaworld.com/content/develop/p37-svensson-cn.pdf
英文原版:http://man.lupaworld.com/content/develop/p37-svensson.pdf
文章来源于http://www.lupaworld.com

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

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

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