2016-07-29 97 views
2

我在研究Apache Kafka,我的用例要求客户端能够过滤消息,并且过滤发生在代理上,而不是客户端上。这个要求与使用JMS选择器相同。带选择器的Apache Kafka客户端?

这是我的理解,虽然我可能不正确,卡夫卡没有选择器,并在客户端进行过滤。所以所有的消息都发送给客户端,客户端负责过滤。

有没有办法实现JMS Selector方法,其中过滤发生在代理上?

+0

你是如何实现这个目标的?我很想听 – selotape

回答

3

不,你不能做那样的事情。您可以做的最好的事情是在客户端进行过滤。 Apache Kafka API仅支持获取类型“给我从主题N分区M开始从偏移量X开始最多1兆字节的消息”。

您可以参考Wire Protocol reference查看提取请求的可能选项,但它不包含任何您正在查找的内容。实际上,Kafka的速度很快,因为每个抓取只是一个顺序读取,所以我不认为这将在未来的版本中实现(但如果我错了,我会很高兴:))。