View a markdown version of this page

KPL をプロデューサーコードと統合する - Amazon Kinesis Data Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

KPL をプロデューサーコードと統合する

Amazon Kinesis Producer Library (KPL) は独立したプロセスで実行され、IPC を使用して親ユーザープロセスと通信します。このアーキテクチャは、マイクロサービスと呼ばれる場合があり、次の 2 つの主な理由からこれが選択されます。

1) KPL がクラッシュしても、ユーザープロセスはクラッシュしません

プロセスには Kinesis Data Streams と無関係なタスクが含まれている場合があり、KPL がクラッシュしてもオペレーションを続行できます。また、親ユーザープロセスが KPL を再起動し、完全に機能する状態に復旧することもできます (この機能は、正式なラッパーに含まれています)。

メトリクスを Kinesis Data Streams に送信するウェブサーバーがその例です。このサーバーは、Kinesis Data Streams 部分が動作を停止してもページの提供を続行できます。そのため、KPL のバグが原因でサーバー全体がクラッシュすると、不要なサービス停止が発生します。

2) 任意のクライアントをサポートできます

正式にサポートされている言語以外の言語を使用するお客様もいます。これらのお客様も KPL を簡単に使用できます。

推奨される使用状況

使用状況の異なるユーザーに推奨される設定を次の表に示します。この表を参考に、KPL を使用できるかどうか、どのように使用できるかを判断できます。集約が有効な場合、コンシューマー側で集約解除を使用してレコードを抽出する必要があることにも注意してください。

プロデューサー側の言語 コンシューマー側の言語 KCL バージョン チェックポイントロジック KPL の使用可否 注意
Java 以外 * * * 不可 該当なし
Java Java Java SDK を直接使用 該当なし 可 集約を使用する場合、GetRecords を呼び出した後に、提供された集約解除ライブラリを使用する必要があります。
Java Java 以外 SDK を直接使用 該当なし 可 集約を無効にする必要があります。
Java Java 1.3.x 該当なし 可 集約を無効にする必要があります。
Java Java 1.4.x 引数なしでチェックポイントを呼び出す 可 なし
Java Java 1.4.x 明示的なシーケンス番号を使用してチェックポイントを呼び出す 可 集約を無効にするかコードを変更し、チェックポイント作成用の拡張されたシーケンス番号を使用します。
Java Java 以外 1.3.x + 複数言語デーモン + 言語固有のラッパー 該当なし 可 集約を無効にする必要があります。