全書程序員
這本書很薄,只有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程序員。