okuyama-0.7.0リリースまとめ

okuyamaのバージョン0.7.0をリリースしたのでまとめを書きます。

今回のリリースは結構大きい機能追加をしました。

■1つ目
    従来のokuyamaはマスターノードを複数で稼動させて冗長化をすることは出来たんですが、
    その場合、どれか1つがメインマスターノードになって、各データノードの生存確認とかしてて、
    そのマスターノードが落ちた場合はクライアントからのリクエストは別のマスターノードで
    さばけるんですが、データノードの生存確認とか、再起動した場合にデータリカバーとかはできませんでした。
    従来の対応方法は稼働中の別のマスターノードの設定ファイルを変更して、あなたが
    次はメインのマスターノードですよって、してあげないとだめだったんです。
    でもこれって相当面倒で、運用負荷すごいので改修しました。


    どうなったかというと、メインのマスターノードがダウンしたら、別のマスターノードが自動的に
    メインに昇格します。で、元々メインだったマスターノードが再起動すると、また元に戻ります。
    これでマスターノード2インスタンス起動しとけば、運用は少し楽になったかな。


    絵で表すと



こんな感じです。




■2つ目
    従来のokuyamaは設定情報(マスターノードがどのマシンでどんなポートで起動してるとか、データノードの全ての情報とか)を
    全ての各マスターノードが設定ファイルで持ってたんですが、これだとデータノード1つ
    追加するにも、全てのマスターノードの設定ファイルを変更しなければいけないので、これは面倒なので
    改修しました。
    改修内容は設定情報をデータとしてデータノードに格納するようにしました。
    起動時だけは設定ファイルから読むしかないので、設定ファイルは不要にはなりませんが、起動後はデータノード内の情報を
    変更するだけで、全てのマスターノードに反映されます。




■3つ目
    2つ目の改修で設定をデータノードに格納するようになったんですが、じゃあどうやってその情報変えるのって事で、
    さすがに、コンソールからsetValue呼び出して更新するのもあれなんで、管理用のWeb画面作成しました。
    画面はこんな感じ

    それぞれの項目の横にある[UPDATE]ボタンで内容を更新出来て、
    各データノードとスレーブデータノードの状態を確認できます。ダウンしてる場合はステータス表示が変わります。
    基本的には設定ファイルの内容をそのままWebから一括変更できるようにした感じなので、
    設定内容とかは設定ファイルの説明内容がそのまま適応されいます。
    起動方法とかは、リリース物のReadMe.txtに書きましたのでそちらを参照ということで。
    デザインは相当ダサいですね。。。orz