読者です 読者をやめる 読者になる 読者になる

データ転送ミドルウェア勉強会に行ってきた

勉強会・ハッカソン Embulk fluentd

データ転送ミドルウェア勉強会に行ってきたので、個人的に気になった点のまとめです。

『バルクデータロードツール「Embulk」リリース 〜 fluentdの柔軟性と堅牢性をバルクでも』

  • https://github.com/embulk/embulk
  • バルクデータローダー
    • fluentdはストリームデータ処理には使いやすいが、過去分のロードなどの処理には向いてない。
    • fluentdのバッチ版があれば便利では。
  • プラグインで拡張できる。
    • クレンジング、エラーハンドリングなどの処理をプラグイン化して再利用・シェアできるようにする。
  • guess pluginがファイルの最初を読んで、ある程度設定を自動で作ってくれる。
    • 日付のフォーマットまで推定してくれる。一見、整数に見える日付だけの文字列まで。
    • プラグインなので拡張できる。
    • まだ組み込みのプラグインしか使えないが、後々、ユーザー定義のプラグインも使えるようになる。
  • last_pathsを設定すると、そのファイルの次から実行してくれる。
    • 次の実行のconfigにマージしていく感じで更新していく。
  • input -> executer -> output
    • executerは並列処理などができるようにしている。
    • input, outputのプラグインはさらに細分化されている。
  • スキーマフル
  • file I/Oがネックになるくらいの処理性能はある。

『世界で利用されるファイル転送ツールHULFT

『Fluentd 2015 - v1に向けて -』

  • v0.10
    • 現状、使っている人が多いバージョン。
  • v0.11は破棄されたバージョン。
    • 互換性を維持するため破棄。
    • v0.12, v0.14などに順次、検討された機能を実装していく予定。
  • v0.12
    • at-least-onceが実装された。
      • 今まではat-most-onceだった。
    • filter
      • タグの書き換えが発生。
        • プラグイン内でエラー出た時に再送できない可能性あり。
      • matchまで一気に実行されるのでエラー出たらinputまで戻せる。
    • label
      • タグを書き換えなくても、matchできる。
      • @ERROR ラベルでチャンク単位でなくて、エラーの出たレコード単位で処理を分岐できる。試作機能。
  • v0.14
    • 2015年春
    • プラグインAPIが刷新される。互換性は維持。
    • Actor
      • スレッドを作ったりといったのプラグイン内の処理を隠蔽
    • ServerEngineでのプロセス監視
    • sub-second ミリ秒単位のサポート
    • zero-downtime
      • Supervisor側でTCP connectionを持ってworkerに渡す。再起動しなくてよい。
  • v1
    • 2015年初夏
  • windowsブランチあるがフィードバックなくて困っている
  • jRubyで動くようになるのでは。
  • td-agent2 v0.12化
    • 来週くらいには

『H2O - HTTPを、より便利に、より速く』

  • https://github.com/h2o/h2o
  • HTTPサーバーの課題
    • リバースプロキシの決定打がない
    • TLS必須の流れ
    • HTTP/2
  • H20
    • ウェブサーバー
    • HTTP/1, HTTP/2, TLSの良い実装を行って、他のhttpdにも影響を与えられたらという感じ。
      • HTTP/2のときでnginxと比べて50%程度高速