浅谈AMQ

简述

消息服务是以消息为载体,在各应用系统之间进行传递共享的异步数据系统

消息结构:

消息头,消息属性,消息体


消息头信息

JMSDestination
JMSDeliveryMode
JMSMessageId
JMSTimestamp
JMSExpiration
JMSRedelivered
JmsPriority
JMSReplyTo
JmsCorrelationId

JMSType

消息属性信息

自定义:

String、boolean、byte、double、int、long、float

JMS定义:
JMSXGroupID

JMSXGroupSeq等

消息体类型

TextMessage
StreamMessage
MapMessage
ObjectMessage

BytesMessage


为什么使用消息服务?

1.异构集成
2.缓解系统瓶颈
3.提高可伸缩性
4.提高最终用户生产率
5.体系结构灵活敏捷

6.ip活跃

消息传送模型

点对点模型

发布订阅模型


两种传送模型对比

浅谈AMQ


点对点模型

消息通过队列进行交换

每条消息最多只有一个接收者

消息存在先后顺序

生产和消费者没有耦合


发布/订阅模型

消息通过主题进行交换

每条消息传给多个接收者

发布者不知道也意识不到有多少订阅者在接收消息

发布者通过主题将消息复制的副本发布给所有订阅该主题的订阅者


JMS API

ConnectionFactory
Destination
Connection
Session
Message
MessageProducer

MessageConsumer

消息服务流程

浅谈AMQ


点对点 API

QueueConnectionFactory
Queue
QueueConnection
QueueSession
Message
QueueSender

QueueReceiver


发布/订阅 API

TopicConnectionFactory
Topic
TopicConnection
TopicSession
Message
TopicPublisher

TopicSubscriber


消息过滤

浅谈AMQ

浅谈AMQ

消费者可根据条件过滤所需要的消息类型,这样不仅仅可以提高消息准确性灵活性,还可以保持消息不会被无用的消费者所消费,消息过滤器语法同sql语法。


服务应用深入

JMS集群搭建及负载均衡?

ActiveMq分布式事务控制实现?

ActiveMq数据持久化?

ActiveMq数据还原?