問題タブ [confluent-kafka-dotnet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Confluent Kafka Consumer は何も受け取りません
次のコードで問題に直面しました。
しかし、消費者は機能しません!デバッグでわかるように、cancelationToken の有効期限が切れるまでフリーズし、OperationCancelledException をスローし、結果を受け取りません。
プロデューサーは動作しているようで、フリーズしたりエラーを返したりしません (同様の構成を使用)。
なぜ機能しないのですか?
apache-kafka - ブローカー検証用の Kafka ssl ca の場所
librdkafkaの上に構築された.net用のコンフルエントなkafkaライブラリを使用しています。ここのドキュメントに従って: https://github.com/edenhill/librdkafka/blob/master/INTRODUCTION.md#ssl ssl.ca.location が設定されていない場合、デフォルトのパスがプローブされます。設定しないと、「/etc/ssl/certs/ca-certificates.crt」を明示的に使用して正常に動作します。
検証のために、/etc/ssl/certs から他のすべての証明書を削除し、新しいファイル (「kafka_root_ca.pem」など) を /etc/ssl/certs に配置しました。明示的な ssl.ca.location が設定されていないドキュメントによると、パス「/etc/ssl/certs」で証明書を自動プローブする必要がありますが、そうではありません。ssl.ca.location = 'probe' を設定しようとしても(コンフルエントなライブラリの提案に従って)、それでも上記のフォルダーから選択しません。絶対パス「/etc/ssl/certs/kafka_root_ca.pem」を設定した場合にのみ機能します。
上記のドキュメントに基づいて、設定されていない場合は /etc/ssl/certs foler から自動的に選択する必要があるため、何かが欠けています。