JMS
JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件Message-Oriented Middleware,(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
JMS有两种工作模式,vm和tcp,使用vm模式时,不必ActiveMQ服务器。使用tcp时,需要使用ActiveMQ,从而建立Tcp链接。

TCP传输连接器使用OpenWire协议将消息串行化并通过TCP协议在网络上进行传输。
从使用者的角度来看,NIO传输连接器与TCP传输连接器没有什么必然区别,NIO在底层也使用TCP协议,并且也是用OpenWire作为消息串行化包装协议。唯一的区别在于底层实现的不同,NIO传输连接器是使用NIO API实现的。NOI传输连接器的使用场景:
1. 您需要有大量的客户端连接到JMS中介。
一般来说,能够连接到中介的客户端的数量取决于操作系统支持的线程数量的上限。由于NIO连接器的实现与TCP连接器相比启动了更少的线程,如果使用TCP不能够满足您的需要时,请考虑使用NIO。
2.您的中介需要大量的网络传输。NIO连接器与TCP连接器相比,效能上会更高一些,因为NIO占用更少的资源。

两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。
P2P 模型规定了一个消息只能有一个接收者;Pub/Sub 模型允许一个消息可以有多个接收者。对于点到点模型,消息生产者产生一个消息后,把这个消息发送到一个Queue(队列)中,然后消息接收者再从这个Queue中读取,一旦这个消息被一个接收者读取之后,它就在这个Queue中消失了,所以一个消息只能被一个接收者消费。
与点到点模型不同,发布/订阅模型中,消息生产者产生一个消息后,把这个消息发送到一个Topic中,这个Topic可以同时有多个接收者在监听,当一个消息到达这个Topic之后,所有消息接收者都会收到这个消息。
浙公网安备 33010602011771号