seesaw

高可用mongrelの第2弾、seesaw。production環境のmongrel_clusterで、サービスをとめずにアプリを更新。ギッコンバッタンと、うまい具合に半分ずつ入れ替えてくれます。

Railsをproduction環境にしてしまうと、クラスをプリロードしてしまうため、ソースコードの修正が反映されない。再起動するしかないのだが、
mongrel_cluster+seesawを使えば、半分ずつウマい具合に再起動してくれるというもの。

インストールして、

 > gem install seesaw

テストアプリ作って、

 > rails testapp
 > cd testapp

mongrel_clusterの設定(前回と同じ)して、

 > mongrel_rails cluster::configure ~
   (インスタンス数は多めにすると楽しい)

seesawの設定ファイルを生成して、

 > mongrel_rails seesaw::configure

生成した conf/http_cluster/*.conf を /apache2/conf.d(など)に移動する。
クラスタを起動して、seesawを走らせてみると、

 > mongrel_rails cluster::start
 > mongrel_rails seesaw::bounce

ちゃっかり半分ずつ再起動してくれる様子がわかります。

永遠のベータ版

なんて言葉が一人歩きして、小出しリリース作業が増えていくと思われる昨今。普及したサービスほど、メンテは深夜や盆暮れだったりする。

こういう仕組みはどんどん取り入れて、平日まっぴるまにメンテするようにしたいものです。SEに健全な生活を(誰に言ってるわけでもなく)。


コメント

コメントしてください

closed.