

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

# KPL をプロデューサーコードと統合する
<a name="kinesis-kpl-integration"></a>

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

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

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

**2) 任意のクライアントをサポートできます**  
正式にサポートされている言語以外の言語を使用するお客様もいます。これらのお客様も KPL を簡単に使用できます。

## 推奨される使用状況
<a name="kinesis-kpl-integration-usage"></a>

使用状況の異なるユーザーに推奨される設定を次の表に示します。この表を参考に、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 \+ 複数言語デーモン \+ 言語固有のラッパー | 該当なし | 可 | 集約を無効にする必要があります。 | 