作为erlang的入门教材,《面对软件错误构建可靠的分布式系统》这篇博士论文很值得好好研究。
学习笔记,就是有话则多,无话则少
2.6语言需求
并行和可容错的编程语言要求
(1)并发性: 轻量级的并行机制,在进程间发送消息。
(2)错误封装:一个进程中的错误,不能破坏其它进程
(3)故障检测:可以检测本地和远端进程中的异常
(4)故障识别:可以识别报告异常原因
(5)代码升级:可以动态替换运行的系统代码
(6)持久存储:
2.10 相关工作
(1)以进程昨晚错误封装的单位:一个进程中发生的错误不会影响到系统中其它进程,被称为强隔离
(2)进程要么就规规矩矩运行,要么就死掉
(3)故障和故障的原因可以被其它进程检测
(4)进程间没有共享状态,唯以消息传递的方式通信,且为异步通信
3.1 Erlang的世界观
(1)一切皆进程,进程要么好好跑,要么死翘翘;
(2)进程的生成和销毁都是轻量级的操作;
(3)进程强隔离,进程间不共享资源,消息传递是进程交互的唯一方式,每个进程有其独有的名字,知道进程的名字,就可以发送消息,不知道名字就不能发送消息
(4)错误处理非本地化