本文简要介绍Apache Kafka,并使用Java编码方式创建、配置kafka主题。
Kafak 介绍
Apache Kafka是强大、高性能、分布式的事件流平台。通常生产者应用程序发布事件到Kafka,消费者订阅这些事件以便读取和处理它们。Kafka使用主题来存储和分类这些事件,例如,在一个电子商务应用程序中,可能有一个“订单”主题。
Kafka主题是分区的,它将数据分布在多个代理上以实现可伸缩性。分区可设置副本,从而使数据具有容错性和高可用性。主题还可设置保留策略,便于后期使用。这些都可以通过Kafka命令行工具或在配置文件以key-value方式配置主题。
除了命令行工具,Kafka还提供了一个Admin API来管理和检查主题,代理以及其他Kafka对象。在我们的示例中,将使用这个API来创建新主题。
依赖管理
为了使用Admin API,需要增加 kafka-clients
依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.8.0</version>
</dependency>
在创建新主题之前,至少需要单节点kafka集群。本文使用测试容器实例化kafka服务器,这样可以和测试代码进行集成,并不依赖外部Kafka服务器。因此需要增加Kafka测试容器:
<dependency>
<groupId>org.testcontainers</groupId>
<art