我正在研究 Apache Kafka,我的用例要求客户端能够过滤消息,并且过滤发生在代理上,而不是客户端。此要求与使用 JMS 选择器相同。
我的理解是,虽然我可能不正确,但 Kafka 没有选择器,过滤是在客户端完成的。所以所有的消息都发送给客户端,客户端负责过滤。
无论如何要实现 JMS Selector 方法,过滤发生在代理上?
不,你不能做那样的事。您能做的最好的事情就是在客户端进行过滤。Apache Kafka API 仅支持“从偏移量 X 开始,为主题 N 分区 M 提供最多 1 MB 的消息”的获取。
您可以参考Wire Protocol 参考来查看提取请求的可能选项,但它不包含您正在查找的任何内容。
实际上,Kafka 之所以那么快,是因为每次获取都只是顺序读取,所以我认为这不会在未来的版本中实现(但如果我错了,我会很高兴:))。
| 归档时间: |
|
| 查看次数: |
3330 次 |
| 最近记录: |