問題タブ [spring-cloud-stream]
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.
java - Spring Cloud Stream が Hystrix と競合する
HystrixおよびSpring Cloud Streamチャネルを備えたRestControllerがあります。
実装では、 HystrixCommandはgetDeclaredMethodをProductUiControllerに作成してフォールバック メソッドを見つけますが、@EnableBindingはクラス メソッドをリフレクションから隠します。回避策の手がかりはありますか?
spring-boot - Spring Cloud Stream を使用してアプリケーションから Kafka Mesos Framework に接続するには?
Mesos -Marathonクラスターを配置し、Spring Cloud Streamを使用してKafkaのトピックを使用するSpring Bootアプリケーションを用意したら、Kafka を Mesos クラスターと統合したいと考えています。このために、Kafka Mesos Frameworkをインストールします。
現在、次のような application.yml 構成があります。
Kafka Mesos フレームワークをインストールしたら、
Spring Cloud Stream から kafka に接続するにはどうすればよいですか?
またはより具体的に
構成はどうなりますか?
apache-kafka - Spring Cloud Stream と Kafka 統合のエラー処理
Spring Cloud Stream と Kafka を統合して Spring Boot アプリケーションを作成しようとしています。Kafka で 1 つのパーティションを持つサンプル トピックを作成し、ここに示す指示に基づいて作成された Spring Boot アプリケーションからトピックに公開しました。
http://docs.spring.io/spring-cloud-stream/docs/1.0.2.RELEASE/reference/htmlsingle/index.html
と
https://blog.codecentric.de/en/2016/04/event-driven-microservices-spring-cloud-stream/
Spring Boot アプリ -
Kafka プロデューサー クラス
例外を処理したい場合を除いて、すべてがうまく機能しています。
Kafka トピックがダウンした場合、アプリのログ ファイルに ConnectionRefused 例外がスローされていることがわかりますが、組み込みの再試行ロジックは停止することなく継続的に再試行しているようです!
私が処理してさらに例外処理を行うためにスローされる例外はまったくありません。上記の Spring Cloud Stream ドキュメントで Kafka の Producer オプションと Binder オプションを読みましたが、この例外をスローしてキャプチャするためのカスタマイズ オプションが見つかりません。
私はSpring Boot / Spring Cloud Stream / Spring Integration(クラウドストリームプロジェクトの基盤となる実装のようです)を初めて使用しています。
この例外をSpring Cloud Streamアプリにカスケードするために知っていることは他にありますか?
spring-cloud-stream - シンクとソースの両方である Spring Cloud Stream アプリ
Sink と Source の両方のバインディングを持つ Spring Cloud Stream App である Spring Boot Application を作成できますか?
spring - SCDF 内でストリーミング アプリを監視する方法は?
私は Spring Cloud Data flow と Stream Cloud Streaming Applications の初心者です。現在、私のプロジェクト図は次のようになっています。
zuul API ゲートウェイを使用して外部クライアントからの POST 要求を Composite というマイクロサービスにルーティングします。Composite は REST POST を使用してストリームを作成し、Spring Cloud Data Flow Server にデプロイします。私の知る限り、マイクロサービスの mongodb とファイルは、共存する JVM プロセスとして実行されます。私のクライアントがストリームのステータス、処理されたデータのステータスを知る必要がある場合、複合マイクロサービスは Spring Cloud Data Flow Server とどのように対話する必要がありますか? 現在、ストリームを展開するために POST 呼び出しを行うと、SCDF サーバーからステータスを取得することさえできません。SCDF は、個々のアプリを調べるためのフックを公開していますか? また、フロー @runtime を変更して動的メッシュを作成するにはどうすればよいですか?
現在、私は Local Spring Cloud Data Flow Server を開発に使用しています。
java - MessageChannel(BinderAwareChannelResolverから取得)で送信する場合、コンテンツタイプはプロパティとは異なります
次のコードがあります。
}
RabbitMQ から amqp メッセージを取得し、「expected_destination」ヘッダーに従ってメッセージを宛先に送信します。
を設定spring.cloud.stream.bindings.output.content-type=application/json;charset=UTF-8しましたが、メッセージの content-type がapplication/x-java-object;type=xxx.AMQPOutboundMessagebase64 でエンコードされたメッセージ本文であることがわかりました。
しかし、@AutowiredmessageChannel を取得するために使用すると、すべて問題ないようです。
この場合、コンテンツタイプを設定する方法を教えてください。
spring-cloud-stream - Spring クラウド ストリームの rabbitMQ コンシューマ パーティション
サンプルの HttpSource と HttpSink を作成しました。私のapplication.propertiesは次のようになります
HttpSource
HttpSink
これらのアプリは両方とも Pivotal Cloud Foundry にデプロイしました。HttpSource には、呼び出し時に「挨拶」と呼ばれるトピック交換にメッセージを送信するエンドポイントがあります。次に、2 つのインスタンスを持つように HttpSink をスケーリングしました。これにより、「あいさつ」交換への 2 つのキューとバインディングが作成されました。
エンドポイントに到達すると、メッセージが両方のキューに送信されていることがわかります。ログを追跡したところ、メッセージが 2 回出力されていることがわかったので、これを知っています。
メッセージを 1 つのキューだけに送るにはどうすればよいですか?
編集:
Pivotal Cloud Foundry 内で HttpSink をスケーリングする代わりに、HttpSink を 2 つの異なるアプリとしてデプロイしました。しかし、application.properties では、それらは同じグループに属していました。そのうちの 1 つは instanceIndex=0 で、もう 1 つは instanceIndex=1 でした。
今でも、「#」としてバインドされた単一のキューと、そのキューへの 2 つのコンシューマーを取得しています。
HttpSink のさまざまなインスタンスが独自のキューを作成し、HttpSource からのメッセージが partitionKey に基づいてそれらの 1 つにルーティングされるようにするにはどうすればよいですか?
