Erlangとは?
あーらん
Erlangとは、分散処理・並行処理・高可用性を主目的として設計された関数型プログラミング言語およびそのランタイム環境のことです。
Erlang(アーラン)は1980年代にスウェーデンの通信機器メーカー・エリクソンが電話交換機ソフトウェアの開発のために設計した関数型・並行指向プログラミング言語です。1998年にオープンソース化され、現在はErlang/OTPとして広く利用されています。
Erlangの設計思想の根幹は「Let it crash(クラッシュさせろ)」という考え方です。エラーが発生したプロセスを監視ツリーで管理し、障害が起きたプロセスを自動的に再起動することで、システム全体の停止を防ぎます。
主な特徴は以下の通りです。
- 軽量プロセス:OSスレッドとは独立した超軽量のプロセスを大量に生成可能
- メッセージパッシング:プロセス間通信をメッセージ送受信で行い、共有メモリを使わない
- ホットコードスワップ:サービスを停止せずにプログラムコードを更新できる
- 分散コンピューティング:複数ノードにまたがった分散システムを容易に構築できる
通信インフラや金融システム、チャットサービスなど高可用性が求められるシステムで採用されてきた実績があります。WhatsAppがErlangで構築されていたことは有名な事例です。また、Elixirという近代的な言語がErlangの仮想マシン(BEAM)上で動作しており、現在はElixirを通じてErlangのエコシステムを活用する開発者も増えています。
使い方・例文
リアルタイムチャットシステムの開発においてErlangを採用すると、何百万もの同時接続を軽量プロセスで処理できるため、大規模サービスのバックエンドとして選択されることがある。
この用語をシェア
最終更新: