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

Asynchronous ZeroMQ异步http请求和消息之间的区别?,asynchronous,python-requests,zeromq,conceptual,grequests,Asynchronous,Python Requests,Zeromq,Conceptual,Grequests,在ZeroMQ中发送数据时,使用异步HTTP请求与使用消息有何不同?HTTP请求只是在两台机器(客户端和服务器)之间通过IP使用超文本传输协议。它可以用于在任意方向移动数据。对于这些数据可以是什么,没有特别的限制。异步请求只是请求者不必费心等待发出请求的回复的请求;它将使用一些机制来稍后与请求会合,无论何时发生 通过ZeroMQ发送消息可能有些类似,特别是REQ/REP模式(请求、回复)。与http请求类似,请求者将发送某种类型的消息,而应答者将以某种方式严格按照这种模式进行应答 ZeroMQ使

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

HTTP请求只是在两台机器(客户端和服务器)之间通过IP使用超文本传输协议。它可以用于在任意方向移动数据。对于这些数据可以是什么,没有特别的限制。异步请求只是请求者不必费心等待发出请求的回复的请求;它将使用一些机制来稍后与请求会合,无论何时发生

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

ZeroMQ使用自己的协议zmtp来移动消息。同样,没有任何东西真正限制消息中的数据。ZeroMQ本质上是异步的——它实现了Actor编程模型(尽管我注意到某些语言中的一些实现方式已经侵蚀了ZeroMQ的简单性w.r.t.,这与该语言自身的异步方式相适应,而不是使用ZeroMQ提供的轮询功能)

然而,ZeroMQ在zmtp之上构建了比req/rep多得多的数据分布模式,如发布/订阅、经销商/路由器,而http根本没有这种模式。进一步的区别是ZeroMQ可以使用IP、进程间通信或内存内传输;这使得它非常适合于应用程序内使用和机器间分布式应用程序。我想网络服务器也可以通过ipc进行联系,但我从未听说过有人愿意这么做。Http预计将在特定端口(例如端口80)上使用,而ZMQ将在开发人员想要的任何端口上使用(如果他们想要安静的生活,则遵守正常的端口分配规则)