ZMQ(以下ZeroMQ简称ZMQ)是一个消息队列 ,可以在进程内、进程间、TCP、多播中,以消息为单位传输数据,而不是socket的字节流;同时它像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高.
消息系统的核心作用就是三点:解耦,异步和并行
集群对外提供服务的过程中要保证信息从一个节点,将信息无误的分发到各个服务器节点上,并保证信息正确性和一致性。
1.串行方式的最大问题是,随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟。
本人测试使用的是Win7 64位的电脑,jzmq.dll,libzmq.dll放在自己JDK的bin目录下,zmq.jar放在工程lib下;
通信模式:1.发送端
/**
* @throws InterruptedException
* @描述:1.非阻塞发送
* @date:2016年11月1日
*/
public static void zmq_pub_NOBLOCK() throws InterruptedException{
//开启的io线程个数,默认1
Context context = ZMQ.context(1);
//选择发布模式
Socket publisher = context.socket(ZMQ.PUB);
//绑定IP端口
publisher.bind("tcp://*:5561");
//zmq发送速度太快,在订阅者尚未与发