`
Rocky_rup
  • 浏览: 145342 次
  • 性别: 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编程 Introducing Erlang

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

    erlang程序设计与入门

    Erlang是一种并发、函数式编程语言,主要用于构建分布式、高可用性、容错性强的系统。它的设计灵感来源于电信行业的需求,由瑞典爱立信公司于1986年开发。Erlang以其独特的并发模型、轻量级进程和热代码替换能力在...

    Erlang程序设计].源代码

    它的设计灵感来源于Prolog,因此在处理并发性和容错性方面表现出色,尤其适合构建高可用性、高并发性的分布式系统。 在"Erlang程序设计"].源代码这个压缩包中,我们可以找到学习和实践Erlang编程的相关材料。这些源...

    [Erlang程序设计]源代码

    这些例子有助于理解Erlang如何实现高并发和容错系统。 **三、模式匹配** 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初学者阅读,而且对于那些对Erlang设计哲学和应用开发感兴趣...

    两本erlang电子书

    最后,第三部分通过构建实际项目,演示如何在实际环境中应用Erlang和OTP,涵盖了从系统设计到部署的全过程。 《Erlang程序设计》则更侧重于Erlang语言本身,适合初学者入门。书中会详细解释Erlang的语法和编程范式...

    erlang 程序设计 源码

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

    Erlang程序设计中文版

    6. ** OTP框架**:Open Telecom Platform (OTP) 是Erlang生态系统的一部分,提供了一套标准库和设计原则,用于构建可伸缩、可靠的软件系统。书中会深入讨论OTP的组件,如GenServer、Supervisor和GenEvent,以及如何...

    erlang资源

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

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

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

    Erlang程序设计及源码

    这种设计模式使得Erlang系统在面对硬件或软件故障时具有很高的容错能力。 4. **热升级** Erlang支持热代码升级,可以在不中断服务的情况下更新运行中的系统。这一特性对于在线服务来说极其重要,可以避免停机带来...

    erlang程序设计

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。它以其强大的错误恢复能力、轻量级进程(称为Erlang进程)以及简单而强大的并发模型而闻名。在...

Global site tag (gtag.js) - Google Analytics