有几种基于推送的消息传递标准(例如MQTT,STORM)。是否有任何基于请求的消息传递协议?
用例:
公司A当前提供了一个支持多个主题的MQTT端点。当事件发布到主题时,MQTT服务器将事件推送给所有订阅者。
但是,A公司希望解决一些缺点:
当前解决方案:
公司A公开了一个HTTP端点,该端点具有get-event
操作,该操作检索事件(例如,编号为1034567
至1034578
的事件已发布到名为some-hot-topic
的主题中下面的curl调用):
curl http://pull.company-a.com/get-events?topic=some-hot-topic&start-at=1034567&stop-at=1034578
问题:
代替构建这种一次性解决方案,公司A可以定义URL格式和响应有效载荷的格式,公司A可以使用已经定义了这些标准的任何标准来解决问题(该标准可以不必基于HTTP。
人们想到的事情(例如Kafka Consumer REST API,RSS)在不同的上下文中解决了类似的问题,但是似乎并没有为满足以下目的而定义任何标准:基于拉的事件通知协议。
答案 0 :(得分:0)
我有一些想法可以使用Kafka实现。我没有MQTT的任何经验,所以也许在那里可以实现相同的经验。
有关Kafka消费者https://docs.confluent.io/current/clients/consumer.html
的更多信息 中的Kafka偏移也有一些好的讨论