タグ付けされた質問 「apache-kafka」

Apache Kafkaは、高スループットのデータストリームを保存および処理するように設計された分散ストリーミングプラットフォームです。


7
Kafkaを(CQRS)イベントストアとして使用する。良いアイデア?
以前にカフカに出会ったことはありますが、最近、カフカがCQRS、イベントストア(のベース)として使用されている可能性があることに最近気付きました。 Kafkaがサポートする主なポイントの1つ: イベントのキャプチャ/保存、もちろんすべてのHA。 パブ/サブアーキテクチャ 新しいサブスクライバーが事後にシステムに登録できるようにするイベントログを再生する機能。 確かに私はCQRS /イベントソーシングに100%精通しているわけではありませんが、これはイベントストアのあるべき姿にかなり近いようです。面白いことに、イベントストアとして使用されているKafkaについてはそれほど多くの情報を見つけることができません。 それで、それが良いイベントストアになるためにカフカから欠けているものは何ですか?それはうまくいくでしょうか?それを使って生産?洞察、リンクなどに興味がある 基本的にシステムの状態は、通常行われているシステムの現在の状態/スナップショットを保存するだけでなく、システムが受信したトランザクション/イベントに基づいて保存されます。(会計の総勘定元帳と考えてください:すべてのトランザクションは最終的に最終状態になります)これにより、あらゆる種類のすばらしいことが可能になりますが、提供されているリンクを読むだけです。

18
カフカトピックの削除
カフカのトピックを削除する方法はありますか? 大きすぎるメッセージをローカルマシンのkafkaメッセージトピックにプッシュすると、エラーが発生します。 kafka.common.InvalidMessageSizeException: invalid message size を大きくすることfetch.sizeはここでは理想的ではありません。私は実際にはそれほど大きなメッセージを受け入れたくないからです。

3
Kafkaのトピックとパーティションについて
エンタープライズソリューションの目的でKafkaを学び始めています。 私の読書中に、いくつかの質問が私の頭に浮かびました: プロデューサーがメッセージを生成しているとき-メッセージを送信したいトピックを指定します、そうですか?パーティションを気にしますか? サブスクライバーが実行中の場合、サブスクライバーはグループIDを指定して、同じトピックのコンシューマーのクラスターの一部になることができますか? 各コンシューマーグループには、ブローカーに対応するパーティションがありますか、それとも各コンシューマーにはパーティションがありますか? パーティションはブローカーによって作成されているので、コンシューマーには関係ありませんか? これは各パーティションのオフセットを持つキューなので、どのメッセージを読みたいかを指定するのはコンシューマーの責任ですか?状態を保存する必要がありますか? メッセージがキューから削除されるとどうなりますか?-例:保持が3時間で、その後時間が経過した場合、オフセットは両側でどのように処理されますか?

23
リーダーは利用できませんKafka in Console Producer
カフカを使おうとしています。 すべての構成は適切に行われていますが、コンソールからメッセージを生成しようとすると、次のエラーが発生し続けます WARN Error while fetching metadata with correlation id 39 : {4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient) カフカバージョン: 2.11-0.9.0.0

3
カフカの消費者相殺を決定するものは何ですか?
私はカフカに比較的新しいです。私はそれを少し実験しましたが、消費者オフセットに関していくつかのことが不明確です。私がこれまでに理解したことから、コンシューマーが開始するときに、読み取りを開始するオフセットは、構成設定によって決まりますauto.offset.reset(間違っている場合は訂正してください)。 たとえば、トピックに10個のメッセージ(オフセット0〜9)があり、コンシューマーがダウンする前(またはコンシューマーを強制終了する前)にたまたま5個消費したとします。次に、その消費者プロセスを再起動するとします。私の質問は: auto.offset.resetがに設定されている場合、smallest常にオフセット0から消費を開始しますか? auto.offset.resetがに設定されている場合、largestオフセット5から消費を開始しますか? この種のシナリオに関する動作は常に確定的ですか? 私の質問に不明な点がある場合は、遠慮なくコメントしてください。前もって感謝します。

4
Kafkaによるデータモデリング?トピックとパーティション
新しいサービス(RDBMS以外のデータストアやメッセージキューなど)を使用するときに最初に考えることの1つは、「データをどのように構造化する必要があるか」です。 私はいくつかの紹介資料を読んで見ました。特に、たとえば、Kafka:ログ処理のための分散メッセージングシステムを例にとります。 「トピックは、メッセージが関連付けられているコンテナです」 「並列処理の最小単位はトピックのパーティションです。これは、トピックの特定のパーティションに属するすべてのメッセージが、コンシューマーグループのコンシューマーによって消費されることを意味します。」 これを知って、トピックとパーティションの使用方法を示す良い例は何でしょうか?何かがトピックになるのはいつですか?何かをパーティションにする必要があるのはいつですか? 例として、私の(Clojure)データが次のようになっているとします。 {:user-id 101 :viewed "/page1.html" :at #inst "2013-04-12T23:20:50.22Z"} {:user-id 102 :viewed "/page2.html" :at #inst "2013-04-12T23:20:55.50Z"} トピックは基づいているべきuser-idですか?viewed?at?パーティションはどうですか? どうやって決めるの?
168 apache-kafka 

12
Zookeeperはカフカの必須アイテムですか?
Kafkaでは、単一のブローカー、単一のトピック、および1つのプロデューサーと複数のコンシューマー(各コンシューマーがブローカーから独自のデータのコピーを取得する)を持つ単一のパーティションのみを使用したいと思います。これを考えると、Zookeeperを使用することによるオーバーヘッドは望みません。ブローカーだけを使用することはできませんか?飼育係はなぜしなければならないのですか?

7
15 MB以上の大きなメッセージをKafkaで送信するにはどうすればよいですか?
文字列メッセージをJava Producer APIを使用してKafka V. 0.8に送信します。メッセージサイズが約15 MBの場合、を取得しMessageSizeTooLargeExceptionます。message.max.bytes40 MB に設定しようとしましたが、それでも例外が発生します。小さなメッセージは問題なく機能しました。 (例外はプロデューサーに表示されます。このアプリケーションにはコンシューマーがありません。) この例外を取り除くにはどうすればよいですか? 私のサンプルプロデューサー設定 private ProducerConfig kafkaConfig() { Properties props = new Properties(); props.put("metadata.broker.list", BROKERS); props.put("serializer.class", "kafka.serializer.StringEncoder"); props.put("request.required.acks", "1"); props.put("message.max.bytes", "" + 1024 * 1024 * 40); return new ProducerConfig(props); } エラーログ: 4709 [main] WARN kafka.producer.async.DefaultEventHandler - Produce request with correlation id 214 …
118 java  apache-kafka 


7
Apache Kafka対Apache Storm
Apache Kafka:分散メッセージングシステム Apache Storm:リアルタイムメッセージ処理 イベントデータを処理するために、リアルタイムデータパイプラインで両方のテクノロジーをどのように使用できますか? リアルタイムデータパイプラインに関しては、どちらも同じように機能しているようです。データパイプラインで両方のテクノロジをどのように使用できますか?

2
Kafka:コンシューマーAPIとストリームAPI
私は最近カフカを学び始め、これらの質問に行き着きました。 コンシューマーとストリームの違いは何ですか?私にとって、ツール/アプリケーションがKafkaからのメッセージを消費する場合、Kafkaの世界の消費者です。 これはKafkaからのメッセージを消費したり、Kafkaへのメッセージを生成したりするため、Streamはどのように異なりますか?また、Consumer APIを使用して独自のコンシューマーアプリケーションを作成し、必要に応じて処理したり、コンシューマーアプリケーションからSparkに送信したりできるのに、なぜ必要なのですか? 私はこれについてグーグルをしましたが、これについて良い答えは得られませんでした。この質問が些細なことである場合は申し訳ありません。

3
Kafkaのキー/値ペアベースのメッセージングの目的は何ですか?[閉まっている]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 11か月前に閉鎖されました。 この質問を改善する すべての例のカフカ| プロデューサーは、ProducerRecordのキーと値のペアを同じタイプ(すべての例が示す<String,String>)であるだけでなく、同じ値として表示します。例えば: producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i))); しかし、Kafkaのドキュメントでは、キー/値の概念(およびその基本的な目的/ユーティリティ)がどこで説明されているのかがわかりません。従来のメッセージング(ActiveMQ、RabbitMQなど)では、常に特定のトピック/キュー/エクスチェンジでメッセージを送信していました。しかし、Kafkaは、通常のole文字列メッセージではなく、キーと値のペアを必要とするように見える最初のブローカーです。 だから私は尋ねます:プロデューサーにKVペアを送ることを要求する目的/有用性は何ですか?

2
Kafkaへのメッセージ送信の一部としてキーが必要ですか?
KeyedMessage<String, byte[]> keyedMessage = new KeyedMessage<String, byte[]>(request.getRequestTopicName(), SerializationUtils.serialize(message)); producer.send(keyedMessage); 現在、キー付きメッセージの一部として、キーなしのメッセージを送信していますが、それでも動作しdelete.retention.msますか?メッセージの一部としてキーを送信する必要がありますか?メッセージの一部としてキーを作成するのは良いことですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.