`
Rocky_rup
  • 浏览: 146374 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从Erlang看高并发可容错系统设计原则

阅读更多

《面对软件错误构建可靠的分布系统》 写道
Erlang 的世界观可以归纳为如下的一些观念:
z 一切皆进程。
z 进程强隔离。
z 进程的生成和销毁都是轻量的操作。
z 消息传递是进程交互的唯一方式。
z 每个进程有其独有的名字。
z 你若知道进程的名字,你就可以给它发消息。
z 进程之间不共享资源。
z 错误处理非本地化。
z 进程要么好好跑,要么死翘翘

 

上文引之Erlang创始人Joe Armstrong对Erlang世界观的总结,其中也包含了编写大型高并发可容错的软件系统应遵循的最基本原则:

  1. 隔离,破除数据共享;
  2. 消息传递实现并行协作;
  3. 速错且异地纠错。

一个有趣的问题,用Erlang开发应对高并发是不是就意味着高性能呢?从Erlang的世界观看,答案是肯定的。因为,隔离解决共享资源锁的性能瓶颈,此外Erlang的进程创建和销毁也是轻量的。可是事实上呢?感兴趣的话请参见:


分享到:
评论
1 楼 suifeng 2008-12-26  
谢谢分享, 很受用.

相关推荐

    图书:Erlang和OTP实战

    这些特性使得Erlang特别适合于构建高并发、高容错的网络服务。 OTP是基于Erlang的一套设计原则和库,它提供了标准的组件和模式,如GenServer、GenEvent和Supervisor等,用于构建可靠的分布式系统。OTP的核心理念是...

    Erlang OTP并发编程实战(中文版)

    阅读《Erlang OTP并发编程实战》这本中文版书籍,你将能够深入理解如何利用Erlang OTP构建高并发、高可用性的系统,学习到如何有效地使用各种 OTP 行为来设计和实现复杂的应用程序。书中可能涵盖了实际案例分析、...

    Erlang程序设计(第2版)1

    【Erlang程序设计(第2版)】是由Erlang之父Joe Armstrong撰写的一本经典著作,专注于介绍Erlang编程语言在并发、分布式和...对于想要利用Erlang开发高并发、高可用性的系统的人来说,这本书无疑是一本不可或缺的指南。

    erlang 设计指南

    **Erlang设计指南** Erlang是一种面向并发的、函数式编程...通过阅读"Pragmatic Programming Erlang",你可以掌握Erlang的关键概念,如进程、消息传递、模式匹配、OTP和分布式系统设计,从而提升你的并发编程技能。

    erlang趣学指南

    Erlang的设计哲学使得它能够优雅地处理高并发场景,并且由于进程的轻量级和消息传递机制,Erlang能够在保持高性能的同时实现容错。 这本书不仅适合Erlang初学者阅读,而且对于那些对Erlang设计哲学和应用开发感兴趣...

    erlang编程 Introducing Erlang

    Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心...

    Erlang otp_win64_23.2

    Erlang OTP (Open Telephony Platform) 是一种用于构建高度并发、分布式和容错系统的编程语言和框架。标题中的“otp_win64_23.2”指的是Erlang OTP的23.2版本,专为Windows 64位操作系统设计的安装包。这个版本包含...

    erlang 程序设计 源码

    Erlang是一种面向并发的、动态类型的编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在深入理解Erlang程序设计的源码之前,我们需要了解Erlang的一些核心概念和特性。 1. **并发性**:Erlang的并发...

    erlang资源

    Erlang是一种面向并发的、函数式编程语言,由瑞典...这两本书结合阅读,将为初学者提供一个全面的Erlang学习路径,从基础语法到高级并发编程技巧,有助于深入理解Erlang语言及其在构建高并发、分布式系统中的强大能力。

    Erlang OTP并发编程实战 附书源码

    这本书的附书源码包含了14个章节的实例代码,旨在帮助读者通过实践掌握Erlang在分布式系统、容错以及高并发场景下的应用。 Erlang是一种静态类型、函数式编程语言,特别适合处理并发和实时系统。其并发模型基于轻量...

    Erlang编程语言

    总结来说,Erlang是一种专门针对大规模并发和分布式系统设计的编程语言,它的并发模型、分布式特性、热代码升级和容错性使其在电信、云计算等领域有着独特的价值。通过深入学习Erlang,开发者可以掌握构建可扩展、...

    Erlang23_3.zip

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson于...对于那些需要构建高效、高并发、容错系统的人来说,这是一个重要的更新,他们可以通过这个压缩包中的文件开始探索和利用Erlang的强大力量。

    Erlang编程

    - Erlang适用于需要高度并发和高容错性的应用,例如即时消息系统、在线游戏服务器、分布式数据库等。 - 由于Erlang的分布式特性,利用Erlang可以更容易地构建大规模、可扩展的系统。 #### 结语 学习Erlang编程...

    erlang programming

    通过对以上知识点的学习和实践,开发者可以利用Erlang的强大功能来创建高可靠性、高并发的分布式系统。 erlang-book-part1.pdf可能涵盖其中的一些或全部内容,为读者提供全面的Erlang编程指导。

    erlang 24.0版本 win64 位

    新版本不仅带来了性能提升和功能增强,还继续保持着Erlang在高并发、容错性和分布式计算方面的优势。因此,对于那些需要处理大量并发连接或构建高可用性系统的项目来说,Erlang 24.0无疑是一个值得考虑的选择。

    windows下安装Erlang环境

    **健壮性**:Erlang具有内置的错误检测和恢复机制,使得构建容错系统成为可能。例如,进程间的通信是异步的,如果一个进程崩溃,其他进程不会受到影响,可以继续执行。 **软实时性**:Erlang采用递增式垃圾收集,...

    Erlang脚本及其在分布式系统中的应用

    Erlang的设计理念包括轻量级进程、消息传递、容错性和分布式计算,这些特性使得Erlang非常适合用于构建高并发和高可用性的系统。 在这个例子中,start/0函数创建了一个新的进程,并将其初始化为调用server/1函数。...

    erlang简介

    Erlang是一种面向并发的、函数式的编程语言,最初由爱立信在1986年为解决电信行业的高并发和容错需求而设计。它不仅是一门语言,还包含了一个运行环境,使得它能够轻松地处理大规模并发任务,特别适合构建高可用性和...

Global site tag (gtag.js) - Google Analytics