典型的な LAMP スタックは、ある程度の耐障害性を採用していることに注意してください。特に、LAMP スタック内のリクエストが失敗した場合、そのリクエストのみが実行され、残りのコードは実行されます。この種の保護により、他のリクエストに影響を与えることなく、単一のリクエストで障害を発生させることができます。
Erlang は、この「小さな予期せぬエラーに対処できる」という考えを、より細かいスケールで提供します。アプリケーションに他のサブシステムがある場合は、エラーに対する同じ種類の許容範囲をそれらにも拡張できます。「無料で」入手することはできませんが、堅牢なシステムを構築するためのツールが用意されています。LAMP スタックでのクライアント エラーを想像してください。これは、多くの場合、そのクライアントの切断につながります。Erlang ではそうではないかもしれませんが、クライアントは実行し続けることができます。
10000 クライアントのシステムの場合、Erlang はクライアントごとにプロセスを持つことができるという利点を提供します。または、クライアントごとに 10 プロセス。プロセス/スレッドはかなり重くて高価であるため、多くの言語でこれを引き出すのははるかに困難です。一部のクライアントが別のマシン上にある場合でも、クライアント間のプロセス間通信は簡単であることに注意してください (いつか分散クラスターに拡張することを想像してください)。
コードを特定の方法で記述すると、何らかの理由でクライアントがクラッシュした場合に、その状態が他のプロセスによって適切にクリーンアップされるようにすることができます。これにより、状態での多くの小さな厄介なリークも回避できます.