Java
 Computer >> コンピューター >  >> プログラミング >> Java

ApacheKafkaとJMSの違い。


KafkaとJMSはどちらもメッセージングシステムです。 Javaメッセージサービスは、Javaによって提供されるAPIです。これは、アプリケーションにメッセージングシステムを実装するために使用されます。 JMSは、キューおよびパブリッシャー/サブスクライバー(トピック)メッセージングシステムをサポートします。キューを使用すると、最初のコンシューマーがメッセージを消費すると、メッセージはキューから削除され、他のユーザーはそれを受け取ることができなくなります。トピックでは、複数の消費者が各メッセージを受信しますが、スケーリングするのははるかに困難です。

Kafkaは、これら2つの概念を一般化したものです。これにより、同じコンシューマーグループのメンバー間でスケーリングが可能になりますが、多くの異なるコンシューマーグループ間で同じメッセージをブロードキャストすることもできます。 Kafkaは、新しい消費者が消費者グループに参加または離脱したときに、自動リバランスも提供します。

Sr。いいえ。 キー Apache Kafka JMS
1
基本
Apache Kafkaは、分散型のパブリッシュ/サブスクライブメッセージングシステムであり、異なるソースシステムからデータを受信し、そのデータをターゲットシステムでリアルタイムに利用できるようにします。
Javaメッセージサービスは、Javaによって提供されるAPIです。これは、アプリケーションにメッセージングシステムを実装するために使用されます。
2
プル/プッシュメカニズム
プルメカニズムを使用しました。クライアントは毎回メッセージをポーリングする必要があります
プッシュベースのモデルを使用し、メッセージをすべての消費者にブロードキャストできます
3
メッセージ保持ポリシー
ポリシーベースです
承認ベース
4。
自動リバランス
新しい消費者が消費者グループに追加または削除するときに自動ブランキングを提供します
自動リバランスは提供されません
5
メッセージの順序
Kafkaは、メッセージがパーティションレベルで送信された順序で受信されることを保証します
JMSは注文メッセージをサポートしていません。

  1. Javaでのイテレータと列挙の違い

    IteratorとEnumerationはどちらも、コレクションの要素をトラバースしてアクセスするためのカーソルです。どちらもコレクションフレームワークに属しています。列挙は、コレクションフレームワークのJDK1.2バージョンのJDK1.0およびIteratorで追加されました。 コレクション内の要素への読み取り専用アクセス権があるため、列挙型はコレクション内の構造を変更できません。次の方法があります: * hasMoreElements() * nextElement() 一方、イテレータはコレクション内の要素を読み取って削除できます。以下の方法があります- * hasNe

  2. JavaでのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり