クックパッドの勉強会でMurakumoの話をしました

謝辞

懇親会で話しかけてくださった方々ありがとうございます。全力で懇親会を避けていた自分としては、あの手の懇親会での立ち位置が未だによくわかりません。マイナス星人の話が頭をよぎります。

これは何?

以前作っていたddnsの後継です。そこそこテストもしたので、まあ使えるのではないかと思います。詳しくはスライドをご覧ください。

補足的な話

nscd

nscdは複数アドレスを返すとキャッシュしてくれないようです。この件でちょっとはまりました。

EC2の場合、2.6.18-xenU-ec2-v1.5ではnscdがうまく動かないようなので前のエントリを参照してください。

dnsmasqとか使ってもいい気はします。

auth-key/script

設定ファイルのauth-keyとヘルスチェックのscriptはファイルのパスを指定できます。ファイルが存在したらファイルを読み込んで評価して、なければ文字列で評価するという感じです。

log-level

infoレベルだと問い合わせが全部ログ出力されるので、運用レベルではwarnにしといた方がよさげです。

optopus

オプションのパースのためのライブラリです。自分で作っておいてなんですが便利ですよ!「作っといてよかったー」と開発中になんどか思いました。売りはオプションの引数と設定ファイルの定義が同時にできるとこです。バリデーションとかも二重に書かなくてすむし、便利ですよ!

rgossip2

ゴシッププロトコル実装です。ユースケースがMurakumoしかないのでアレですが、そこそこ汎用的に作っているので他の用途もあると思います。EC2だとこの手の分散技術が重要な気がするんですが、ダウンロード数は(以下略

今後の開発とかいろいろ

パフォーマンスはアレですが、キャッシュデーモンを使えば実運用には耐えうると思います。DNS部分はアレなんで、一応書き直すつもりではありますが、現状でも使えるんじゃないでしょうか?
冗長化でみなさんあんまり困ってない様子なのが謎ですねー、なんか良いソリューションがあれば是非とも教えていただきたいのですが。。。



D