强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Erlang/OTP 完全指南

Erlang/OTP 完全指南

从零开始掌握构建高可用、高并发分布式系统的函数式编程语言。


关于本教程

本教程共 25 章,涵盖 Erlang 语言基础、OTP 框架核心、生产级工程实践以及真实项目案例。每章包含:

  • 核心概念讲解
  • 可运行代码示例
  • 表格速查
  • 注意事项(坑点预警)
  • 业务场景说明
  • 扩展阅读

适合谁?

  • 希望学习高并发/分布式系统开发的后端工程师
  • 对函数式编程感兴趣、想了解 Actor 模型的开发者
  • 需要构建电信级可靠性系统的架构师
  • 对 WhatsApp / RabbitMQ / CouchDB 等 Erlang 项目好奇的工程师

目录

章节标题主要内容
01Erlang 简介历史背景、OTP 概念、适用场景(电信、消息队列、实时系统)
02环境搭建Erlang/OTP 安装、rebar3 构建工具、IDE 配置
03Hello World编译运行第一个程序、模块与函数基础
04变量与类型不可变变量(单次赋值)、模式匹配、基本数据类型
05模式匹配函数子句、case 表达式、守卫、递归中的模式匹配
06函数进阶匿名函数(fun)、高阶函数、列表推导
07列表深入cons 操作符、列表处理、尾递归优化
08元组与 Map元组、记录(Record)、Map 操作
09并发编程spawn / send / receive、进程链接与监控
10OTP 基础GenServer、Supervisor、Application 三大支柱
11监督者详解重启策略、子进程规范、动态子进程
12应用详解Application 生命周期、配置管理、发布
13ETS 表表类型、并发访问模式、性能优化技巧
14Mnesia 数据库分布式数据库、事务、表类型与索引
15IO 与网络文件操作、TCP/UDP Socket、二进制处理
16错误处理try/catch、exit 信号、link/monitor 机制
17测试EUnit、Common Test、PropEr 属性测试
18分布式节点通信、RPC、全局注册、集群管理
19发布与部署relx 打包、热代码升级、版本管理
20性能优化profiling、fprof、内存分析、瓶颈定位
21Docker 容器化多阶段构建、Dockerfile、Docker Compose
22NIF 与 C 集成Native Implemented Functions、dirty scheduler
23Web 开发Cowboy 框架、REST API、WebSocket
24最佳实践代码风格、OTP 设计原则、生产规范
25实战项目消息队列、聊天服务器、实时系统

学习路线建议

基础阶段(第 1-6 章):语言入门
    ↓
数据结构(第 7-8 章):深入数据操作
    ↓
并发与 OTP(第 9-12 章):Erlang 的灵魂
    ↓
存储与网络(第 13-15 章):数据层
    ↓
工程化(第 16-21 章):测试、部署、性能
    ↓
进阶(第 22-25 章):NIF、Web、实战

快速参考

核心哲学

原则说明
Let it crash进程崩溃由 Supervisor 重启,而非防御性编程
轻量级进程Erlang 进程仅占约 2KB 内存,可创建百万级
不可变数据变量单次赋值,消除共享状态并发问题
消息传递进程间通过消息通信,不共享内存
热代码升级运行时替换代码模块,零停机更新

常用命令速查

# 交互式 Shell
erl

# 编译单个文件
erlc hello.erl

# 使用 rebar3 构建
rebar3 compile

# 运行测试
rebar3 eunit

# 生成发布包
rebar3 release

本教程基于 Erlang/OTP 26+ 版本编写,代码示例均已在对应版本验证。