参考资料

  1. Docker与其他技术的对比
  2. PHP是一种开源的服务器端脚本语言
  3. Haskell是一种纯函数式编程语言
  4. OnlyOffice是一款开源办公套件
  5. Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言
  6. Docker的核心概念
  7. Wiki 是一个基于 Web 的协作式知识管理系统
  8. ClefOS 是一款基于开源技术的轻量级 Linux 发行版

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. 内存不足

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

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