【发布时间】:2020-01-12 03:21:21
【问题描述】:
我正在运行 Confluent Kafka 的开发环境,Windows 上的社区版,版本 3.0.1-2.11。 我正在尝试在 2 个连接器实例之间实现任务的负载平衡。我正在同一台机器上运行 Kafka Zookepper、服务器、REST 服务和 2 个 Connect 实例。 连接器的属性文件之间的唯一区别是休息端口,因为它们在同一台机器上运行。 我不为连接器偏移、配置、状态创建主题。我是不是该? 我有接收器连接器的自定义代码。
当我为我的接收器连接器创建工作器时,我通过执行 POST 请求来做到这一点
POST http://localhost:8083/connectors
朝向任何正在运行的连接器。检查是否有加载的工作人员在 URL 完成
GET http://localhost:8083/connectors
我的接收器连接器在代码中有 System.out.println() 行,我可以使用这些行在控制台日志中跟踪我的代码输出。 当我的工作人员运行时,我可以看到只有一个连接器实例正在执行代码。如果我终止一个连接器,另一个实例将接管工作人员并恢复执行。然而,这不是我想要的。 我的目标是两个连接器实例都在运行工作代码,以便它们可以在它们之间共享负载。 我试图克服一些开源连接器,看看是否有编写连接器代码的细节,但没有成功。
我做了一些不同的尝试来解决这个问题,但没有成功。 我可以重写我的业务代码来解决这个问题,但我很确定我错过了一些对我来说并不明显的东西。 最近我评论了 Robin Moffatt 对this 问题的回答。
【问题讨论】:
标签: apache-kafka apache-kafka-connect