1

簡単な質問があります。KCL は複数のストリームから消費できますか? アプリケーションに複数のストリームを設定する必要がありますか?それとも、個々のストリームを個々のアプリケーションに結び付ける必要がありますか? 私の特定の使用例は、バックエンドとフロントエンドから生成されたデータを消費する必要がある場合です。これらのうちの 1 つは、他のものよりもはるかに高速でデータを生成します。そのため、処理のために別々のストリームを生成する必要があると考えています。同じ KCL プロセスから両方のストリームを使用する方法はありますか? それとも 2 つ設定する必要がありますか? ご協力いただきありがとうございます!

4

1 に答える 1

1

KCL は、複数のストリームからのイベントを使用するように変更できるオープン ソース プロジェクトですが、これはお勧めできません。物事を単純にする方が良いです。

2 つの異なるイベント ストリームがある場合は、それぞれに 1 つずつ、2 つの異なるキネシス ストリームを用意することをお勧めします。これにより、各ストリームの速度とピークが異なる可能性があるため、各ストリームを個別にスケーリングできます。

ストリーム間で情報を共有する必要がある場合は、DynamoDB や Redis などの DB を使用して、ストリーム間で共有状態変数を使用できます。

これらのイベントを送信する一連のサーバーがある場合、バックエンドのイベントの一部がフロントエンドからのイベントの前に処理される可能性があることに注意してください。これらのイベントを処理する必要がある KCL (または Lambda) コードは、さまざまな処理速度、さまざまな障害ポイント、およびその他の非同期イベントを持つことができます。このような潜在的な依存関係と例外に注意してください。

于 2016-01-12T05:26:10.707 に答える