- ジョー・アームストロングが書いた記事で、Erlangコミュニティで著名な人物が彼のいちばん好きなErlangプログラムについて論じている
- そのプログラムは「Universal Server」で、サーバーの概念を一般化し、特定のサーバーになるよう指示できるサーバーを作るという考え方
- Universal Serverは
{become, F}メッセージを待ち受け、Fが関数である場合、それはFサーバーになる
- アームストロングは「Factorial Server」を示し、整数を待ち受けてその整数の階乗を返すサーバーを紹介
- ユニバーサルサーバーを作る関数を作成し、「階乗サーバーになれ」というメッセージを送り、整数を送り、応答を待ち、応答を出力する方法を示している
- SICSで過ごした時期の逸話を共有し、9000台のコンピューターで構成された研究ネットワークであるPlanet Labにアクセスできたと述べている
- Planet Labを分散アプリケーションの実際のテストベッドとして使い、すべてのPlanet Labマシンに空のユニバーサルErlangサーバーをインストールし、
becomeメッセージでネットワーク全体に広がるゴシップアルゴリズムを設定
- これにより、彼が望むものへとネットワークをすばやく変換でき、研究論文のためのコンテンツ配信ネットワークを作るのに利用した
- この記事は、動的で分散されたシステムを作るうえでのErlangの柔軟性と強力さを示している
1件のコメント
Hacker Newsの意見
{becom, F}メッセージを受け取ることができ、継続的に進化できる