activeMQ了解一下(一)

2018-07-19  本文已影响0人  夏日橘子冰

正式介绍activeMQ之前,让我们先了解几个名词

一、JMS消息服务

即java的消息服务,JMS的客户端之间通过JMS进行异步的消息传输

1.消息模型
P2P point to point 点对点模式
Pub/Sub publish/Subscribe 发布订阅模式
p2p.png

每个消息被发送到队列,接收者从队列获取消息。队列里一直保留消息,直到消息被消费或超时。

P2P特点:
使用场景:希望每个消息都被成功处理,且只有一个消费者
publish_subscribe.png

多个发布者将消息发送到主题,系统将消息传递给多个订阅者

Pub/Sub特点
使用场景:

如果你希望发送的消息可以不被做任何处理、或者被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型

2.消息如何消费

1).同步:调用使用receive方法,此方法在接收到消息之前会一直阻塞
2).异步:注册消息监听器,消息到达时,系统自动调用监听器的onMessage方法

二,消息队列中间件

1,应用场景
(1) 异步处理

例如:注册后发送短信、邮件,下单后调用第三方支付接口等,将需要执行的消息放入队列,客户端会迅速收到响应,有利于用户体验

(2)应用解耦

例如:在业务复杂的项目里,一个请求涉及跨系统,跨接口操作,当第三方、第四方系统网络异常等时,导致请求失败,耦合太强。

(3)流量削锋

例如:秒杀活动,秒杀时不做业务处理,交给消息队列,并限制消息队列的长度,可有效控制参与人数并防止高流量压垮应用

(4)日志处理

例如:kafka应用,日志采集写入kafka队列,此队列复杂接收,存储和转发,订阅者订阅kafka里的日志数据

(5)消息通讯

如:消息室,微博等

上一篇下一篇

猜你喜欢

热点阅读