すずけんメモ

技術メモです

設定情報のpush型構成を組む場合の手段についてのメモ

管理画面から設定情報を保存しておいて、それをJSONで受け取ってfluentdのexec_filterで使うプログラム用に使っている箇所があります。管理画面のデータを保存するDBを、fluentdの入っているサーバ(以下、workerとします。)からは直接参照せず、管理画面のあるサーバからHTTPでJSON形式のデータをworkerで受け取るようにしています。workerでは定期的に設定情報のJSONを受け取るように設定しています。

しかし、定期的な設定情報の取得では更新からのタイムラグがあります。そこで、管理画面で設定情報が更新されたタイミングで準リアルタイムに設定情報を反映したいと考えました。

シンプルなケースなので新しい手段使わずに何か枯れた手段があるのではないかと思っていたところ、xinetdを教えていただきました。 id:naoya さんありがとうございます。

今回のケースだと、管理画面での設定情報の更新イベントが発生したときにxinetdにtcpで通知すれば、worker側で設定情報をpullすることができそうです。

また、knockdというのもあることを知りました。

これもシンプルにtcpポートをノックして任意のスクリプトを実行できるようです。

まとめ

かなと思います。