首页 > 解决方案 > 我们可以在 Kafka 中进行服务器端过滤吗?

问题描述

我想知道我们可以在Kafka中以某种方式进行服务器端过滤吗?有哪些本机支持服务器端过滤的替代方案?我的意思是 Kafka 可以向客户端提供特定消息以避免在客户端进行过滤吗?

标签: apache-kafka

解决方案


Kafka可以向客户端提供特定的消息吗

Kafka 不是基于推送的系统;它不“提供消息”。必须为消费者客户端分配主题以进行轮询。

另一方面,生产者根据主题(例如,一个主题的用户注册事件,另一个主题的用户会话到期事件)或围绕它们发送的数据的其他条件语句执行“过滤”;因此客户端过滤。

send()在最终调用的生产者和最终调用的消费者之间没有其他过滤poll(),例如“服务器端”过滤。如果消费者只对记录的子集感兴趣,那么该客户端必须与某个生产者达成相互协议才能专门获取这些记录,否则,必须忽略其他无关记录或以其他方式处理。

在 Kafka Streams API 中,您有一个filter()操作,这也是客户端过滤。

有哪些本机支持服务器端过滤的替代方案?

我不知道...如果消息代理隐藏消息不被读取,那会很奇怪


推荐阅读