問題タブ [spring-integration-aws]
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.
spring-cloud-stream - Spring Cloud Aws キネシス バインダー ロード バランシング
Aws kinesis ストリーム コンシューマの負荷分散を実装しようとしていました
ドキュメントに従って、私は実装しようとしています
私は3 つのコンテナーを持っています。必要に応じて、既存のコンテナーを再起動せずに、新しいコンテナー (最大 6 つ)を立ち上げたいと考えています。
- instanceIndex は 0 または 1 から始まります。
- instanceCount に 6 を指定して 3 つのインスタンスのみを起動すると、新しいインスタンスを起動するまですべてのメッセージが消費されます。
- ドキュメントに spring.cloud.stream.bindings..consumer.concurrency というプロパティがありますが、その重要性について教えてください。
- 何らかの理由で、いずれかのインスタンスがダウンした場合、いずれかのメッセージが消費されなくなります。
私たちを助けてください
spring-cloud-stream - Spring Kinesis Binder がヒープ領域を急速に満たし、GC フラッシュが頻繁に発生し、メッセージ処理が遅くなる
私のアプリケーションは 1 つのストリームから消費し、3 つのストリームにメッセージをプッシュしています
バインダー:
構成:
各レコードでストリーミングするためにプッシュするデータは、約 800kb です。非常に頻繁な GC フラッシュを引き起こしている AbstractAwsMessageHandler/AmazonKinesisAsyncClient により多くのデータがあることがわかります。
Binder の 1.0.0.RELEASE バージョンを使用しています
助けてください。