CAP定理により、分散Erlangシステムが以下の3つの保証すべてを同時に提供することは不可能です。
- 一貫性(すべてのErlangランタイムまたはノードは同時に同じデータを参照します)
- 可用性(ノード障害は、サバイバーが動作を継続することを妨げません)
- パーティショントレランス(任意のメッセージが失われたにもかかわらず、システムは動作し続けます)
分散Erlangシステムは、0、1 、または2つの保証をサポートできます。
ErlangとOTPを使用して、それぞれの保証をどのように実装できますか?ほとんどの分散Erlangアプリケーションは、より高いレベルのAとPを実際に選択し、「結果整合性」を確保します。Erlang自体は、分散(P)、フォールトトレラント(A)、ソフトリアルタイム、ノンストップのアプリケーションをサポートするように設計されているようです。
プログラミング言語(Erlang)、ランタイムシステム(ERTS)、およびライブラリセット(OTP)は、分散型フォールトトレラントアプリケーションを構築するために設計されています。分散フォールトトレラントアプリケーションを定義する3つのことをどのように行うのですか?