PROBLEM

  • Elixirをさわりはじめてしばらく経つけどふかく理解した気になれない
  • Phoenixやほかのフレームワークに頼られないケースが出てきたとき自由な発想ができるようになっておきたい
  • 巷でいわれているSLA 99.9999999% などの実際がどうなのか腹落ちしてない

-

SOLUTION

というわけで、LYSE本を読むことにした。Elixirに関係ありそうな箇所を選定している。

今回はOTP。

16. OTPとはなにか

  • Erlangの特徴
    • 並列・分散
    • エラー処理
  • 組込関数
    • リンク
    • モニター
    • タイムアウト
    • 終了の補足
  • OTP
    • 下記のようなバグになりやすい箇所をモジュールとして吸収
      • プロセスの順番
      • 競合条件をどのように避けるか
        • プロセスはいつでも死ぬ可能性があること
      • ホットコードローディング
      • 名前付きプロセス
      • Supervisor
    • Pros
      • バグを解決するための時間を大幅に減らせる
      • 個々のモジュールのテストが行いやすい
      • 個々のモジュールの最適化が利用者全員の恩恵となる

-

以上 :droplet: