IBM Cloud Docs
使用 Kafka Java 客户机

使用 Kafka Java 客户机

Java™ Kafka API 样本是使用 Java编写的示例生产者和使用者,直接使用 Kafka API。 可以在本地或在 IBM Cloud® 中运行此样本。

为了实现 Java 客户机的最佳性能,建议您使用 V 2.6.0或更高版本。 有关更多信息,请参阅 有关 Java Kafka 调用的已知限制

样本代码位于 event-streams-samples GitHub 项目中。 虽然该样本使用 Kafka API 来发送和接收消息,但该样本使用 Event Streams 管理 API 来创建主题,以便向该主题发送消息和从该主题接收消息。

有关样本的设置和运行的更多信息,请参阅 README.md

有关如何运行样本的全程指导,请参阅 Event Streams 入门

如何使用,下载和运行 Liberty for Java 样本

IBM® Liberty for Java™ for IBM Cloud® 样本实现部署到 Liberty 运行时的简单应用程序。 应用程序将 Kafka API 用于 Event Streams 来生成和使用消息。 应用程序还提供了一个可用于管理的 Web 前端。

您可以在 event-streams-samples GitHub 项目中找到样本代码。

使用 sasl.jaas.config 属性

如果在 0.10.2.1 或更高版本上使用 Kafka 客户机,那么可以将 sasl.jaas.config 属性用于客户机配置,而不使用 JAAS 文件。 要连接到 Event Streams,请设置 sasl.jaas.config,如以下示例中所示:

    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
    username="USERNAME" \
    password="PASSWORD";</code>

USERNAMEPASSWORD 是 IBM Cloud中 Event Streams 服务凭证 选项卡中的值。

如果使用 sasl.jaas.config,那么在同一 JVM 中运行的客户机可以使用不同的凭证。 有关更多信息,请参阅 配置 Kafka 客户机

对于较早的 Kafka 客户机而言,您必须使用 JAAS 配置文件来指定凭证。 此机制不太方便,因此请改为使用 sasl.jaas.config 属性。

将 Kafka 客户机从 V 0.9.X 或 0.10.X 迁移到更高的客户机版本

如果使用 Java 客户机,那么可以使用公开可用的 Kafka 客户机 V 0.10 或更高版本。

建议您从 V 0.9.X 移至最新版本。 您可以从 https://kafka.apache.org/downloads下载 Kafka 客户机。

将 Kafka 客户机迁移到 V 0.10.2.X 或更高版本

从 V 0.10.2开始,可以直接在客户机的属性中配置 SASL 认证,而不是使用 JAAS 文件。 此简化使您能够使用不同凭证集在同一 JVM 中运行多个客户机,而 JAAS 文件无法使用这些凭证集。

完成以下步骤:

  1. 删除 JAAS 文件。 也不再需要 JVM 属性 java.security.auth.login.config=<PATH TO JAAS>

  2. 将以下内容添加到客户机属性:

    sasl.mechanism=PLAIN
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";
    

    USERNAMEPASSWORD 是 IBM Cloud中 Event Streams 服务凭证 选项卡中的值。