Erlang Hot Code Loading 没有被广泛使用?

标签 erlang

我刚看到this 2012 video来自 LinuxConf.au 关于生产环境中的 Erlang。

视频中有一段 Bernard 说,除了 Ericsson 之外,没有大型 Erlang 项目使用热代码加载,因为很难保证事情会奏效。大约在 minute 29 .

这仍然是真的吗?是否有工具可以帮助测试热代码负载或使其变得更容易?

最佳答案

这不是真的。每个 Erlang 用户都以一种或另一种方式使用热代码加载来发挥自己的优势——无论是用于开发、测试、故障排除、一次性修复还是全面部署。这是 Erlang 的主要优势之一。也比较独特。

例如,最大的 Erlang 用户之一 WhatsApp 几乎所有代码推送都依赖热代码加载。

我亲自处理过热代码加载,在这些场景中,每个更改都被很好地理解并且通常由进行更改的同一个人执行。它工作得非常好,优秀的工程师在这方面没有任何问题。说到工具,使用 l(...). 从 Erlang shell 中一一加载模块或一次全部使用l(). (见 here )工作得很好。有些人更喜欢基于发布的工具,如 relx .

其他公司,如爱立信,在对明确的版本和补丁进行严格测试后,使用带有热代码加载的企业式部署。此处的目标是在不使用备用容量和排空和转移负载的特殊程序的情况下进行升级。从操作上讲,这可能比重新启动更简单、更有效,但测试可能更昂贵。

关于Erlang Hot Code Loading 没有被广泛使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080970/

相关文章:

erlang - 如何在使用钢筋运行 eunit 测试之前启动啤酒

erlang - 二进制模式匹配 - 我可以从 "/word/number/word/number"中提取数字吗

erlang - Reltool错误 "potentially included by two different applications"

erlang - 列表 :keysearch erlang 的打印输出

erlang - 跟踪 Erlang 函数 - 简写形式

erlang - 生成函数而不导出它们

.net - erlang 中的 SOAP 网络服务

erlang - 在gen_server行为中,如何使用函数nodes()在节点之间实现广播新闻?

erlang - 删除列表 Erlang 中的最后一个元素

Erlang:在同一台机器上启动第 14 个从机时出现 {error,timeout}