使用事例
Apache Storm を使用した S3 への Kafka メッセージの永続化
ここまでの話
- 私は secor( https://github.com/pinterest/secor ) を使用してみましたが、正常に動作し、目的を果たしています。しかし、マネージャーによると、それはメンテナンスの行き過ぎかもしれません (彼らが言うように、彼は常に正しいです)。
- Apache Kafka-Apache Storm の安定したクラスターが既に配置されているため、そのインフラストラクチャを活用することを計画しています。
議題と問題点
Kafka からのメッセージは Storm Bolt でバッチ処理され、ローカル ディスクのファイルに書き込まれます
特定の間隔および/またはサイズ基準の後、S3 にアップロードされます
障害を管理するには、ボルトがクラスタ全体にランダムに分散されるため、各ボルトが Kafka パーティションを追跡し、理想的にはタプルごとにオフセットできる必要があります。
パーティション/オフセットは Zookeeper に永続化できますが、そもそもボルトでタプルからそれらを取得する方法は? それらを Kafka Spout からボルトで転送する以外の方法はありますか?