Log stashとKafkaの違いは何ですか?そして、両方が同じであればどちらが良いですか?そしてどうやって?
どちらもパイプラインであり、データをプッシュしてさらに処理することができます。
KafkaはLogstashよりもはるかに強力です。 PostgreSQLなどからElasticSearchにデータを同期する場合、KafkaコネクタはLogstashで同様の作業を行うことができます。
主な違いの1つは、Kafkaはクラスターですが、Logstashは基本的に単一のインスタンスです。複数のLogstashインスタンスを実行できます。ただし、これらのLogstashインスタンスはお互いを認識しません。たとえば、1つのインスタンスがKafkaはノードを自動的に処理します。そしてKafkaコネクタを分散モードで動作するように設定すると、他のコネクタがダウンしているコネクタの作業を引き継ぐ可能性があります。
KafkaとLogstashも連携できます。たとえば、すべてのノードでLogstashインスタンスを実行してログを収集し、ログをKafkaに送信します。次に、Kafkaコンシューマコードを記述して、必要な処理を行うことができます。
Logstash は、イベントおよびログメッセージの収集、処理、転送に使用できるツールです。収集は、いくつかのinput
plugins によって行われます。入力プラグインとしてKafka
を使用できます。入力プラグインは、Kafkaトピックからイベントを読み取ります。入力プラグインがデータを収集すると、任意の数で処理できます- filters イベントデータを変更して注釈を付ける最後に、イベントはoutpu
t plugins にルーティングされ、Elasticsearchを含むさまざまな外部プログラムにイベントを転送できます。
Kafka
はメッセージを永続化するメッセージングソフトウェアであり、TTLを持ち、Kafkaからデータを取り出すコンシューマーの概念を備えています。その使用法のいくつかは次のようになります:
したがって、単純に両方に独自の利点と欠点があります。しかし、それはあなたの要件にのみ依存します。