探索 Erlang/OTP 实现高可用与可扩展系统
1. 背景与目标
在当今数字化时代,我们需要实现具备容错性、可扩展性、软实时性且高可用的系统。这些系统要能对外部刺激、负载变化和故障做出反应,始终保持响应能力。很多成功案例表明,Erlang 是完成这项任务的理想工具,但仅靠 Erlang 这一强大的编程语言还不足以将所有这些特性整合起来,构建复杂的响应式系统。为了正确、快速且高效地完成任务,还需要中间件、可重用库、工具、设计原则以及一个能指导系统架构和分布式设计的编程模型。
我们的目标是在 Erlang 编程语言及其 OTP 框架的背景下,探索可用性和可扩展性的多个方面,以及并发、分布和容错等相关主题。Erlang/OTP 诞生于爱立信计算机科学实验室(CS Lab)团队探索如何高效开发下一代电信系统的过程中,当时市场时间变得至关重要,而那时还没有 Web、平板电脑、智能手机、大型多人在线游戏、消息传递和物联网。
当时,只有电话交换机需要我们如今认为理所当然的可扩展性和容错水平。这些交换机必须应对新年前夜的巨大流量高峰,满足紧急服务通话可用性的监管要求,并避免因设备故障导致停机而面临的高昂合同罚款。如今,监管和罚款已被缺乏忠诚度、会毫不犹豫更换供应商的不耐烦用户所取代,报纸头版报道也被社交媒体上的大规模恐慌所取代,但可用性和可扩展性的核心问题依然存在。
2. 关键术语定义
2.1 可扩展性(Scalable)
可扩展性指的是计算系统适应负载或可用资源变化的能力。例如,可扩展的网站能够平稳处理流量高峰,即使硬件出现故障也不会丢弃任何客户端请求。可扩展的聊天系统可能每天能够容纳数千名新用户,而不会影响对现有用户的服
超级会员免费看
订阅专栏 解锁全文
1060

被折叠的 条评论
为什么被折叠?



