ZeroMQ异步http请求和消息之间的区别?

问题描述 投票:-3回答:1

在ZeroMQ中发送数据时,使用异步HTTP请求与使用消息有何不同?

asynchronous python-requests zeromq conceptual grequests
1个回答
0
投票

http请求只是在客户端和服务器两台机器之间通过IP使用的超文本传输​​协议的使用。它可用于在任一方向上移动数据。对于数据可以是什么没有特别的限制。异步请求只是一个请求者无需费心等待发出请求的答复的异步请求。每当有碰巧进入时,它都会使用某种机制来以后会合请求。

通过ZeroMQ发送消息可能有点相似,特别是REQ / REP模式(请求,答复)。与http请求类似,请求者将发送某种消息,而回复者将以某种方式(严格按照这种方式)进行回复。

ZeroMQ使用其自己的协议zmtp来移动消息。同样,没有什么真正限制消息中的数据。 ZeroMQ本质上是异步的-它正在实现Actor编程模型(尽管我注意到某些语言中的某些实现侵蚀了ZeroMQ的简单性,使其适合于该语言自身的异步方式,而不是使用ZeroMQ提供的轮询功能)。

但是,ZeroMQ在zmtp之上构建的数据分发模式比req / rep多得多,例如pub / sub,dealer / router,这是http所没有的。进一步的区别是ZeroMQ可以使用IP,进程间通信或内存中的传输。这使其非常适合应用程序内使用和机器间分布式应用程序。我想也可以通过ipc与网络服务器联系,但是我从来没有听说有人愿意这样做。 Http应该在特定的端口(例如端口80)上使用,而ZMQ可以在开发人员想要的任何端口上使用(如果他们想要安静的生活,请遵循常规的端口分配规则)。

© www.soinside.com 2019 - 2024. All rights reserved.