参考资料

  1. Redmine 是一个开源的、基于 Web 的项目管理和问题跟踪工具
  2. RethinkDB 是一个开源的分布式 NoSQL 数据库,专为实时应用设计
  3. Ubuntu 是基于 Debian 的开源 Linux 发行版
  4. 与虚拟机相比,Docker的优势是什么?
  5. Java 是一种面向对象、跨平台的编程语言
  6. Docker Desktop的安装步骤
  7. Adminer(原名 phpMinAdmin)是一个轻量级、开源的数据库管理工具
  8. Monica 是一款开源的个人关系管理(PRM)工具

Erlang 是一种通用的并发编程语言和运行时环境

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

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

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