Erlang : 分散コンピューティング

最近、時間を見つけてErlangを触ってみています。
で、下にあったファイル転送をやってみました。
http://armstrongonsoftware.blogspot.com/2006/09/why-i-often-implement-things-from.html
各ホストは、DNSで名前解決できる必要があります。また、もし、DNSが使用できない場合は、hostsファイルでも可です。

>$erl -name server -cookie ASDRTFERT

とあるところは、

erl -name server -setcookie ASDRTFERT

というコマンドでerlang処理系を起動するというように読み替える必要があるようです。
あと、http://ejabberd.jabber.ru/interconnect-erl-nodesにあるやり方で、.hosts.erlangファイルを用意しておく必要があるようです。
というところを気にすれば、すぐに試すことができます。
rpc:call()でリモートの関数を呼び出せるのですが、関数の実行結果が自動的にローカルに転送されてくるので、本当に2行でファイル転送ができてしまいます。

      • -

この一例だけを見ても、分散環境のプログラミングをするならば、よほど特別な事情がなければerlangを選んでおくのが適切だと思いました。さらに、サーバーサイド処理は、少しでも規模が大きくなればすぐになんらかの分散環境が必要になることを考えれば、サーバーサイドプログラミングをする上ではデフォルトでerlangを選んでおくべきなのではないのかとさえ思いました。
しかし、erlangは、もともと意図された適用領域である通信系以外の一般的な実用アプリケーションを作成する上でのライブラリがどの程度あるのかが不明なので、その辺の調査を進めておきたいと思いました。