Kafka-Java-Client verwenden
Das Beispiel für die Java™-Kafka-API enthält einen in Java geschriebenen Producer und Consumer, der direkt die Kafka-API verwendet. Dieses Beispiel kann lokal oder in IBM Cloud® ausgeführt werden.
Für eine optimale Leistung mit dem Java-Client wird empfohlen, Version 2.6.0oder höher zu verwenden. Weitere Informationen finden Sie unter Bekannte Einschränkung für Java Kafka-Aufrufe.
Der Beispielcode befindet sich im GitHub-Projekt event-streams-samples GitHub. Obwohl das Beispiel die Kafka-API zum Senden und Empfangen von Nachrichten nutzt, verwendet es die Event Streams-Verwaltungs-API zum Erstellen des Topics, an das es Nachrichten sendet und von dem es Nachrichten empfängt.
Weitere Informationen zur Konfiguration und Ausführung des Beispiels finden Sie in der README.md.
Eine schrittweise Anleitung zum Ausführen des Beispiels finden Sie in Einführung in Event Streams.
Verwendung, Download und Ausführung des Liberty for Java-Beispiels
Das Beispiel IBM® Liberty for Java™ for IBM Cloud® implementiert eine einfache Anwendung, die in der Liberty-Laufzeit implementiert wird. Die Anwendung verwendet die Kafka-API für Event Streams zum Erstellen und Verarbeiten von Nachrichten. Die Anwendung stellt darüber hinaus ein Web-Front-End bereit, das Sie für die Verwaltung verwenden können.
Sie finden den Beispielcode im GitHub-Projekt GitHub.
Eigenschaft 'sasl.jaas.config' verwenden
Wenn Sie einen Kafka-Client mit 0.10.2.1 oder höher verwenden, können Sie die Eigenschaft sasl.jaas.config
für die Clientkonfiguration anstelle einer JAAS-Datei verwenden. Um eine Verbindung zu Event Streamsherzustellen, legen Sie
sasl.jaas.config
wie im folgenden Beispiel fest:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="USERNAME" \
password="PASSWORD";</code>
USERNAME
und PASSWORD
sind die Werte aus Ihrer Registerkarte Event Streams Serviceberechtigungsnachweise in IBM Cloud.
Wenn Sie sasl.jaas.config
verwenden, können Clients, die in derselben JVM ausgeführt werden, unterschiedliche Berechtigungsnachweise verwenden. Weitere Informationen finden Sie unter Kafka-Clients konfigurieren.
Für einen älteren Kafka-Client müssen Sie eine JAAS-Konfigurationsdatei zur Angabe der Berechtigungsnachweise verwenden. Dieser Mechanismus ist weniger praktisch. Verwenden Sie daher stattdessen die Eigenschaft sasl.jaas.config
.
Migration eines Kafka-Clients von Version 0.9.X oder 0.10.X auf höhere Clientversionen
Wenn Sie die Java-Clients verwenden, können Sie die öffentlich verfügbaren Kafka-Clients der Version 0.10 oder höher verwenden.
Es wird empfohlen, von Version 0.9.X auf die neueste Version. Sie können einen Kafka-Client von https://kafka.apache.org/downloadsherunterladen.
Migration eines Kafka-Clients auf Version 0.10.2.X oder höhere Versionen
Ab Version 0.10.2können Sie die SASL-Authentifizierung direkt in den Clienteigenschaften konfigurieren, anstatt eine JAAS-Datei zu verwenden. Mit dieser Vereinfachung können Sie mehrere Clients in derselben JVM ausführen, indem Sie unterschiedliche Gruppen von Berechtigungsnachweisen verwenden, was mit einer JAAS-Datei nicht möglich ist.
Führen Sie die folgenden Schritte aus:
-
Löschen Sie die JAAS-Datei. Die JVM-Eigenschaft
java.security.auth.login.config=<PATH TO JAAS>
ist ebenfalls nicht mehr erforderlich. -
Fügen Sie die folgenden Clienteigenschaften hinzu:
sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";
USERNAME
undPASSWORD
sind die Werte aus Ihrer Registerkarte Event Streams Serviceberechtigungsnachweise in IBM Cloud.