我喜欢ApacheksqlDB.https://developer.confluent.io/learn-kafka/ksqldb/push-queries-and-pull-queries/的推送查询,它允许在结果集(或数据)发生变化时通过HTTP2获得新查询结果的通知,这太棒了。
我们如何强制Apache Pulsar或Pulsar SQL发送推式查询?或者是否有类似的方法可以将查询结果泵送到服务端点(然后通过http2或websockets进一步泵送到客户端)。
我不想运行查询,如果没有数据变化。因此,轮询不是一个选项。
1条答案
按热度按时间v2g6jxz61#
Pulsar SQL不是像ksqlDB那样的流处理解决方案。要做你想做的事情,你需要一个具有SQL功能的流处理引擎。你可以看看Flink、Spark、Storm、Samza等等。它们中的大多数都有到/从Pulsar的连接器。如果你想使用ksqlDB,它应该可以很好地与协议处理程序一起工作,这些协议处理程序使Pulsar“说”Kafka协议,如Starlight-for-Kafka或KoP。
如果你没有太多的数据要处理,另一种可能性是使用消费者来获得新消息的通知,并在每次获得新消息时运行Pulsar SQL查询。这可以通过编写Pulsar接收器来实现。效率不是很高,但它可以根据你的用例来完成这项工作。