为什么我需要进行轮询消息中心



我正在查看蓝色混合上的消息中心的Node-js Express示例,并且很困惑,为什么我需要从服务器进行调查消息集线器。我认为Pub-Sub模型背后的整个想法是,我不必(Over(加载我的服务器进行轮询消息服务以找出是否存在新消息供我消耗。在提供的示例中,app.js文件中的第211-213行包含以下内容:

  // Set up an interval which will poll Message Hub for
  // new messages on the 'livechat' topic.
  produceInterval = setInterval(function() { ...},250);

现在,当我想要的是完全避免进行轮询模型时,每250毫秒就会有我的服务器轮询消息集线器,并且当存在消息供我消耗时,请通过消息集线器通知。

简短:Kafka通过使用消费者模型,而不是服务器 -

来实现其可扩展性。

详细:值得首先浏览Kafka文档。特别是,您的问题在这里得到回答http://kafka.apache.org/documentation/#design_pull

hth,edo

使用kafkaconsumer poll((函数意味着您的应用程序正在对客户端缓冲区进行轮询,不一定会在网络上进行轮询到Kafka Broker。KAFKA客户端通常会在此客户端缓冲区中预取数据和缓存数据,以提高性能,较低的延迟和更好的网络效率。

如果您想要将数据"将"数据推向应用程序的异步回调样式界面,则非常容易包装轮询接口并使其看起来像推动。最终,每个推动API都有隐藏在TCP插座上调查的封面下的东西。

最新更新