一身上の都合によりsrvdというデーモンを書いた。 github.com これは何? DNSのSRVレコードをバックエンドにしたconfdみたいなものです。 SRVレコードの値に合わせてミドルウェアの設定ファイルを書き換えて、設定ファイルが変更されたらミドルウェアをリロードする、みたいな。 ことの発端 某所ではMySQLのスレーブへのロードバランサーとして、Railsサーバに同居しているHAProxyを使ってるんですよ。 中央集権的ロードバランサーに比べて、スループットがよいとか、大量のコネクションが一カ所に集中しないとか性能的にはいいんですが、いかんせん設定ファイルをRailsサーバにばらまくのがめんどくさい。設定ファイルをばらまいた後は大量のHAProxyのリロードとRailsのリロード。 それをなんとかしたいと思ったので、いろいろ試してみたんですよ。 NLB スループットが結構落ちる