Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Integrieren Sie die KPL in den Herstellercode
Die Kinesis Producer Library (KPL) wird in einem eigenen Prozess ausgeführt und kommuniziert über IPC mit Ihrem übergeordneten Benutzerprozess. Diese Architektur wird gelegentlich auch als Microservice
1) Ihr Benutzerprozess stürzt auch dann nicht ab, wenn die KPL abstürzt
Im Prozess sind möglicherweise Aufgaben enthalten, die nichts mit Kinesis Data Streams zu tun haben. Diese können auch bei einem Absturz der KPL weiterhin durchgeführt werden. Die KPL kann von Ihrem übergeordneten Benutzerprozess auch neu gestartet werden, sodass eine volle Betriebsfähigkeit wiederhergestellt wird (die Funktion ist in den offiziellen Wrappern enthalten).
Ein Beispiel hierfür ist ein Webserver, der Metriken an Kinesis Data Streams sendet. Der Server kann auch noch Seiten bereitstellen, wenn die Komponente Kinesis Data Streams nicht mehr betriebsfähig ist. Ein Absturz des gesamten Servers aufgrund eines Fehlers in der KPL würde einen unnötigen Ausfall verursachen.
2) Es können beliebige Clients unterstützt werden
Es gibt immer Kunden, die Sprachen verwenden, die nicht offiziell unterstützt werden. Diese Kunden sollten die KPL auch problemlos nutzen können.
Empfohlene Verwendungsmatrix
In der folgenden Verwendungsmatrix sind die empfohlenen Einstellungen für verschiedene Benutzer aufgeführt und Sie werden darüber informiert, ob und wie Sie die KPL verwenden sollten. Beachten Sie, dass bei aktivierter Aggregation auch eine Disaggregation verwendet werden muss, um die Datensätze auf der Konsumentenseite zu extrahieren.
Sprache auf Produzentenseite | Sprache auf Konsumentenseite | KCL-Version | Prüfpunkt-Logik | Können Sie die KPL verwenden? | Einschränkungen |
---|---|---|---|---|---|
Alles außer Java | * | * | * | Nein | N/A |
Java | Java | Direkte Java-SDK-Verwendung | N/A | Ja | Bei aktivierter Aggregation muss nach GetRecords -Aufrufen die bereitgestellte Disaggregationsbibliothek verwendet werden. |
Java | Alles außer Java | Direkte SDK-Verwendung | N/A | Ja | Aggregation muss deaktiviert werden. |
Java | Java | 1.3.x | N/A | Ja | Aggregation muss deaktiviert werden. |
Java | Java | 1.4.x | Prüfpunkt-Aufruf ohne Argumente | Ja | Keine |
Java | Java | 1.4.x | Prüfpunkt-Aufruf mit expliziter Sequenznummer | Ja | Entweder muss die Aggregation deaktiviert oder der Code so geändert werden, dass erweiterte Sequenznummern für das Setzen von Prüfpunkten verwendet werden. |
Java | Alles außer Java | 1.3.x + mehrsprachiger Daemon + sprachspezifischer Wrapper | N/A | Ja | Aggregation muss deaktiviert werden. |