JMS和ActiveMQ介绍(1)_消息传送机制

前一段在组内做过一次有关《JMS和ActiveMQ介绍》的技术分享,今天把幻灯片整理了一下,希望和大家多交流。

175256709.jpg

JMSjava消息服务是由Sun提出的一套消息传送API规范,而ActiveMQ是一款开源的消息服务器产品。

175321414.jpg

175356489.jpg

175358573.jpg

消息传送机制是在多个系统之间引入消息服务器,由消息服务器接收来自各系统的消息并将消息转发到相应的系统上,以实现各系统之间的通信。

而在每个系统中,应用程序通过调用消息传送API来进行消息的发送和接收,消息传送API再通过各消息服务器所对应的消息传送客户端将消息发送至服务器或从服务器接收消息。

目前,消息服务器产品中,

属于商业软件的有:IBM WebSphere MQSonicMQMicrosoft Message QueuingmSMQ);

属于开源软件的有:ActiveMQOpenMQRabbitMQ

虽然消息服务器产品较多,但基本遵循同一个消息传送API规范,即JMSJava Message ServiceJava消息服务):

1JMS是由Sun发起创建;

2)它与JDBC类似,只定义消息传送的相关接口,由消息服务器产品自己实现相应的接口功能;

因此,在使用不同的消息服务器产品时,系统中的应用程序可以使用同一个消息传送API

175718765.jpg

消息传送机制具有以下优点:

1)可以实现异构集成,不同平台、不同语言的系统可以通过消息进行通信,实现集成。例如,ActiveMQ支持多语言,除Java以外,还包括CPHPPython

2)可以缓解系统瓶颈,当系统同步处理的请求数量增大时,会造成请求阻塞,如果使用消息传送机制,可以将请求以消息方式发送至消息服务器,并由多个请求处理模块接收消息进行并发处理。

3)可以提高可伸缩性,这个与缓解系统瓶颈类似,通过增加或减少消息接收者来控制并发处理的能力,提高可伸缩性。

4)可以提高最终用户生产率,这是因为使用消息传送机制时,可以对请求进行异步处理,请求以消息方式发送至消息服务器后,最终用户无需同步等待请求返回结果。

5)体系结构灵活性和敏捷性,我们知道系统设计的一个基本原则就是高内聚、低耦合,通过引入消息传送机制,各系统服务以消息的形式抽象出来,减少系统之间的耦合,提高系统结构灵活性和敏捷性。

175731952.jpg

首先,先引入以下概念:

JMS提供者(Provider),消息服务器;

目的地(DestinationQueueTopic),消息在JMS提供者中的目的地;

生产者(ProducerSenderPublisher),发送消息;

消费者(ConsumerReceiverSubscriber),接收消息。

两种消息传送模型:

队列(一对一):

基于拉取(Pull)或基于轮询(polling);

发送到队列的消息被一个而且仅仅一个接收者所接收,即使有多个接收者在一个队列中侦听同一消息;

既支持异步“即发即弃”消息传送方式,又支持同步请求/应答消息传送方式;

支持负载均衡。

主题(一对多):

基于推送(push)的模型,其中消息自动地向消费者广播,它们无须请求或轮询主题来获得新消息。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值