参考资料

  1. 如何管理多个docker容器?
  2. Known 是一个开源的内容发布平台
  3. YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
  4. Eclipse Temurin 是一个由 Adoptium 社区维护的开源 Java SE 发行版
  5. Drupal 是一个开源的内容管理系统 (CMS),用于构建网站
  6. Rust 是一种系统编程语言,专注于安全、并发和性能
  7. Amazon Linux 是亚马逊 AWS 官方维护的 Linux 发行版
  8. SWI-Prolog 是一个开源的 Prolog 实现,广泛用于人工智能、自然语言处理和知识表示等领域

Erlang 简介

Erlang 是一种通用的并发编程语言和运行时环境,最初由爱立信公司开发,用于构建高可用、分布式、软实时系统。它特别适合电信、金融、即时通讯等领域。

特点

  • 并发性:轻量级进程,支持数百万并发

  • 分布式:原生支持分布式计算

  • 容错性:内置错误检测和恢复机制

  • 热代码升级:无需停止系统即可更新代码

  • 函数式编程:单次赋值,模式匹配

  • 软实时性能:低延迟响应

最新更新内容及时间

  • 最新稳定版本:Erlang/OTP 26.1 (截至2023年10月)

  • 主要更新:改进JIT编译器,增强ETS表性能,HTTP客户端改进

下载地址

官网地址

https://www.erlang.org

文档地址

Docker安装示例

# 拉取官方镜像
docker pull erlang:latest

# 运行交互式容器
docker run -it --rm erlang

# 在容器中启动Erlang shell
erl

.yarl设置教程

(注:可能是笔误,Erlang相关配置通常是erlang.config或sys.config)

示例erlang.config:

[
  {kernel, [
    {inet_dist_use_interface, {127,0,0,1}}
  ]},
  {myapp, [
    {port, 8080}
  ]}
].

常用错误及问题

  1. Undefined function错误

    • 原因:模块未编译或路径不正确

    • 解决:确保模块已编译并位于代码路径中

  2. Badmatch错误

    • 原因:模式匹配失败

    • 解决:检查匹配表达式两边的数据结构

  3. nodedown错误

    • 原因:分布式节点连接问题

    • 解决:检查节点名称、cookie和网络连接

  4. ETS表冲突

    • 原因:并发访问冲突

    • 解决:使用ets:safe_fixtable或适当锁机制

  5. 内存不足

    • 原因:进程泄漏或消息堆积

    • 解决:检查进程监控和消息处理逻辑