Hatena::Grouperlang

檜山正幸のErlang未確認情報 RSSフィード

 | 

2009-01-22 (木)

helloの今後:もっとちゃんと作るために

| 16:34

helloをちゃんと作るシリーズは、13回でいちおう終了。

でも、次の点はまだ「ちゃんと」になってません。「もっとちゃんと作る」ための課題を列挙。

分散アプリケーションとしてのhello(イメージ湧かないが)

applicationコールバックのstart仕様は、

  Module:start(StartType, StartArgs)

第2引数は、アプリケーション仕様キー(application specification key)modに書かれた{Module,StartArgs}の値を取り出して渡してくれる(あんまりうれしくない)のだが、startTypeには、

 StartType = normal | {takeover,Node} | {failover,Node}

が指定可能。{takeover,Node} | {failover,Node} が、どんなときに渡ってきて、どう対処すべきかわからない。これを調べる。

included_applications

アプリケーション仕様キーにincluded_applicationsがあり、複数のアプリケーションをグループ化(チーム化)できるが、メカニズムと使い方がわからない。

ホットフィックス、リリースハンドリング

OTPは、ホットフィックス/ホットスワップをサポートしているし、リリースハンドリングの概念もある。開発しながら稼働させ、稼働させながら開発を続けるためには、これらの機能の利用が必須。

状態のバックアップ

監視ツリーを使っていても、サーバーが死ねば状態は失われる。再起動されても直前の状態が残ってないと稼働は続けられない。おそらくは、terminateコールバック関数でなんとかするのだと思うが、系統的な方法が(今のところ)見あたらない。なんとかしたい。

 |