西安网站建设多钱,东营港经济开发区,免费的网站软件正能量,重庆北碚网站制作消息队列技术是分布式应用间交换信息的一种技术#xff0c;消息队列可驻留在内存或者磁盘上#xff0c;队列存储消息直到它们被应用程序读走#xff0c;通过消息队列#xff0c;应用程序可以独立的执行—它们不需要知道彼此的位置#xff0c;或者继续执行前不需要等待接收…消息队列技术是分布式应用间交换信息的一种技术消息队列可驻留在内存或者磁盘上队列存储消息直到它们被应用程序读走通过消息队列应用程序可以独立的执行—它们不需要知道彼此的位置或者继续执行前不需要等待接收程序接收此消息。 1队列管理器
队列管理器是MQ系统中最上层的一个概念由它为我们提供基于队列的消息服务。
2消息
在MQ中把应用程序交由MQ传输的数据定义为消息我们可以定义消息的内容并对消息进行广义的理解比如用户的各种类型数据文件某个应用向其他应用发出的处理请求都可以作为消息。消息由两部分组成
消息描述符描述消息的特征如消息的优先级声明周期消息Id等消息体即用户的数据部分在MQ中消息分为两种类型非永久性消息和永久性消息非永久性消息是存储在内存中它是为了提高性能而设计的当系统掉电或者MQ队列管理器重新启动时将不可恢复。当用户对消息的可靠性要求不高而侧重系统的性能表现时可以采用该类型的消息。如发布股票信息时由于股票信息不断更新可能每若干秒就会发布一次新的消息会不断覆盖旧的消息。永久性消息是存储在磁盘上的并且记录数据日志的它具有高可靠性在网络和系统发生故障情况下能确保消息不丢不重。此外在MQ中还有逻辑消息和物理消息。利用逻辑消息和物理消息可以将大消息进行分段处理也可以将若干个本身完整的消息在应用逻辑上归为一组进行处理。
4队列
队列是消息的安全存放地队列存储消息直到它被应用程序处理。
消息队列采用下述方式工作 a程序A形成对消息队列系统的调用此调用告知消息队列系统消息准备好了投向程序B。
b消息队列系统发送此消息到程序B驻留处的系统并将它放到程序B的队列中。
c适当时间后程序B从它的队列中读此消息并处理此信息、
由于采用了先进的程序设计思想以及内部工作机制MQ能够在各种网络条件下保证消息的可靠传递可以克服网络线路质量差或不稳定的现状在传输过程中如果通信线路出现故障或远端的主机发生故障本地的应用程序都不会受到影响可以继续发送数据而无需等待网络故障恢复或远端主机正常后再重新运行。
在MQ中队列分为很多种类型本地队列远程队列、模板队列动态队列别名队列
本地队列又分为普通本地队列和传输队列普通本地队列是应用程序通过API对其进行读写操作的队列传输队列可以理解为存储-转发队列比如我们将某个消息交给MQ系统发送到远程主机而此时网络发生故障MQ将把消息放在传输队列中暂存当网络恢复时再发往远端目的地。
远程队列是目的队列在本地的定义它类似一个地址指针指向远程主机上的某个目的队列它仅仅是个定义不真正占用磁盘存储空间。 模板队列和动态队列是MQ的一个特色它的一个典型用途是用作系统的可扩展性考虑。我们可以创建一个模板队列当今后需要新增队列时每打开一个模板队列MQ便会自动生成一个动态队列我们还可以指定该动态队列为临时队列或者是永久队列若为临时队列我们可以在关闭它的同时将它删除相反若为永久队列我们可以将它永久保留为我所用。 4通道
通道是MQ系统中队列管理器之间传递消息的管道它是建立在物理的网络连接之上的一个逻辑概念也是MQ产品的精华。 在MQ中主要有三大类通道类型即消息通道MQI通道和Cluster通道。消息通道是用于在MQ的服务器和服务器之间传输消息的需要强调指出的是该通道是单向的它又有发送(sender), 接收(receive), 请求者(requestor), 服务者(server)等不同类型供用户在不同情况下使用。MQI通道是MQ Client和MQ Server之间通讯和传输消息用的与消息通道不同它的传输是双向的。群集(Cluster)通道是位于同一个MQ 群集内部的队列管理器之间通讯使用的。
MQ的通讯模式
点对点通讯点对点方式是最为传统和常见的通讯方式它支持一对一、一对多、多对多、多对一等多种配置方式支持树状、网状等多种拓扑结构。多点广播MQ适用于不同类型的应用。其中重要的也是正在发展中的是多点广播应用即能够将消息发送到多个目标站点(Destination List)。可以使用一条MQ指令将单一消息发送到多个目标站点并确保为每一站点可靠地提供信息。MQ不仅提供了多点广播的功能而且还拥有智能消息分发功能在将一条消息发送到同一系统上的多个用户时MQ将消息的一个复制版本和该系统上接收者的名单发送到目标MQ系统。目标MQ系统在本地复制这些消息并将它们发送到名单上的队列从而尽可能减少网络的传输量。发布/订阅(Publish/Subscribe)模式发布/订阅功能使消息的分发可以突破目的队列地理指向的限制使消息按照特定的主题甚至内容进行分发用户或应用程序可以根据主题或内容接收到所需要的消息。发布/订阅功能使得发送者和接收者之间的耦合关系变得更为松散发送者不必关心接收者的目的地址而接收者也不必关心消息的发送地址而只是根据消息的主题进行消息的收发。在MQ家族产品中MQ Event Broker是专门用于使用发布/订阅技术进行数据通讯的产品它支持基于队列和直接基于TCP/IP两种方式的发布和订阅。群集(Cluster)为了简化点对点通讯模式中的系统配置MQ提供Cluster(群集)的解决方案。群集类似于一个域(Domain)群集内部的队列管理器之间通讯时不需要两两之间建立消息通道而是采用群集(Cluster)通道与其它成员通讯从而大大简化了系统配置。此外群集中的队列管理器之间能够自动进行负载均衡当某一队列管理器出现故障时其它队列管理器可以接管它的工作从而大大提高系统的高可靠性。