web-dev-qa-db-ja.com

Apacheの違いKafkaとCamel(ブローカーと統合)

KafkaのようなものとCamelのようなものの違いを理解しようとしています。私の理解では、Camelは、プロトコル/システムの変更をある程度心配することなく、開発者にはるかに多くの抽象化を提供します。 Kafka Camelが今できることのほとんどを処理できませんか?私はドキュメントを読んでいて、Kafkaは十分に更新/アップグレードされているようです私の質問は、将来の校正システムに関して、KafkaはCamelと比較してどうですか?Kafka Camelに足りない?私はKafkaは、システムが成長するにつれて拡張できないという印象を受けています。

編集:これは厳密にメッセージに基づいています。Camelを取り巻くドキュメントは、エンタープライズ統合パターンに基づいていることを非常に明確にしていますが、Kafkaドキュメントを深く掘り下げると、同じパターンを実装できます。Am何か足りない?

10
Clannadqs

Apache Kafka:ストリーミング処理プラットフォームです。これは、非常にスケーラブルなパブリッシュサブスクライブメッセージキューアーキテクチャに基づいています。 JMSパブリッシュサブスクライブモデルに基づく他の多くのプラットフォームがあり、同じことを実行できます(一部の例外を除く)。最も人気のあるもののいくつかはApache-Activemq、RabbitMqです

Apache Camel:メッセージ指向ミドルウェアです。ほぼすべての エンタープライズ統合パターン を実装しています。

ApacheCamelはApacheKafkaで使用できます。または、ApacheCamelなしでApache Kafkaを使用することもできます。

6
pvpkiran

Kafkaはメッセージブローカーです。 ActiveMQ、RabbitMQ、Azure ServiceBusなどの他のメッセージブローカーと同等です。Camelは統合ミドルウェアです。これは、ApacheServiceMixに匹敵します。

1
Gang Gao

それらは2つのまったく異なるものです。

Camelは、メッセージが送信されるエンドポイントまたはチャネルを定義できるインターフェイス定義ツールと考えてください。ただし、これらは抽象的です。たとえば、CamelとSpringIntegrationを比較してください。

Kafkaはこれらのメッセージを提供できるため、これらの抽象チャネルまたはエンドポイントを実装できます。しかし、ActiveMQなどもそうです。

1
Balázs Németh