全书程序员
这本书很薄,只有93页,并且是免费的,有兴趣的朋友能够去看一看。虽然书中没有提到Elixir,但对于学习Elixir也颇有帮助。这本书适合对Erlang和OTP有初步了解的人阅读。书中附带练习。缓存
阅读别人的代码首先要搞清楚代码的类型。做者将Erlang的代码分红几类:数据结构
介绍了一下rebar3,它是用于生成Erlang发行包的工具。
一个OTP发行包每每包含多个OTP应用。
若是初始状态是不可靠的,那么Supervisor的做用就很小了。
好比,若是不能保证重启后链接正常,就须要在初始代码中发送重连消息,避免频繁的崩溃。
因此,初始状态的限制条件越少越好。
三种应用策略:app
咱们能够把一个项目当作是一间浴室,水流表明用户的请求,当水流过大时,就会从浴缸里溢出。那么如何解决呢,一般咱们须要找到瓶颈所在,是排水管道太窄了,仍是浴缸过小了,或许须要更多的浴室来处理水流。可是,当咱们没有能力解决这些瓶颈时,咱们就须要聪明一些,让系统可以在过载状况下运做。有两种策略:back-pressure 和 load-shedding。函数
须要避免错误日志爆炸。限制输入能够保证最基本的服务,可是用户体验会变得不好。也就是back-pressure会变大。记得设置好time out。工具
主要讲如何查看运行时的各类指标。学习
erlang:memory().
length(processes())
length(erlang:ports())
每当Erlang进程崩溃后,咱们能够阅读一个名为 erl_crash.dump 的文件来寻找缘由。测试
这一章讲如何检测和修复内存泄露,内容比较专业,没看懂。:p设计
介绍了一些查看CPU当前参数的函数。调试
能够对任何Erlang代码进行跟踪,用pid和模式匹配来锁定目标。
这本书详细地介绍了对Erlang程序进行错误调试的过程,还介绍了调试工具recon。本书适合有项目经验的中高级Erlang程序员。