我们正在构建一个系统,以可控和可预测的速率将数据从我们生态系统中的一个点移动到另一个点。系统基本上有一个主要的kafka主题,该主题获取N个类型的消息。然后,从该主题使用的代理基于消息有效负载主题将消息放入N个工作队列之一。这些工人队列然后让工人实际从事工作。
现在,我想实现控制旋钮,例如-从代理中暂停/恢复/限制1种消息。假设座席和工作人员之间没有通讯,我该怎么做对于代理在其中写入这些消息的每个工作人员,我是否应该有一个单独的“系统事件”主题?还是最好在顶层也有N个队列?
答案 0 :(得分:0)
我个人更喜欢让代理中的不同线程处理暂停/恢复/限制逻辑,这些逻辑在Kafka使用者之后出现。这样可以确保如果您要限制某个特定类型,则不会妨碍其他类型的处理。因此,基本上,Kafka使用者会根据类型将类型特定的操作委派给不同的线程。