Norikra meetup #2でLTをしてきました。LTといいつつ時間に余裕があったので15分以上しゃべっていたような…
発表資料はこちらです。
Norikraで不正アクセスの兆候があるアクセスログを検知して、検知次第IPアドレスをmemcachedに突っ込んでそれをもとにアクセスをブロックする、というネタでした。
ログの流し込みが詰まった場合に誤爆しないように、結果のtimestampに1分以上の間隔があった場合は max(time) - min(time) で補正するとか、クエリに後処理で使うための定数を埋め込んでおくことでクエリごとに挙動を調整しやすくするとか、そんなかんじの細かい工夫をしています。
あと皆さん気になっていたNorikraの冗長化ですが、active-standby構成であればすぐできる気はします。
うちはいまstat fileは定期的にconsul KVに突っ込んで、起動時にはそれをgetしてから起動するようにしてるから、あとはactive落ちたらstandbyが上がるようにしてconsulのDNSで切り替えればいいんだよな #norikra
— fujiwara (@fujiwara) 2015, 6月 3
ただし現状、落ちたとしてもすぐインスタンスをあげ直すだけでそれほど重大な問題にはならない使い方なので、普段遊んでるstandbyを用意するコストをかけてまでやるかどうかですね。