浅谈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活跃
消息传送模型
点对点模型
发布订阅模型
两种传送模型对比
点对点模型
消息通过队列进行交换
每条消息最多只有一个接收者
消息存在先后顺序
生产和消费者没有耦合
发布/订阅模型
消息通过主题进行交换
每条消息传给多个接收者
发布者不知道也意识不到有多少订阅者在接收消息
发布者通过主题将消息复制的副本发布给所有订阅该主题的订阅者
JMS API
ConnectionFactory
Destination
Connection
Session
Message
MessageProducer
MessageConsumer
消息服务流程
点对点 API
QueueConnectionFactory
Queue
QueueConnection
QueueSession
Message
QueueSender
QueueReceiver
发布/订阅 API
TopicConnectionFactory
Topic
TopicConnection
TopicSession
Message
TopicPublisher
TopicSubscriber
消息过滤
消费者可根据条件过滤所需要的消息类型,这样不仅仅可以提高消息准确性灵活性,还可以保持消息不会被无用的消费者所消费,消息过滤器语法同sql语法。
服务应用深入
JMS集群搭建及负载均衡?
ActiveMq分布式事务控制实现?
ActiveMq数据持久化?
ActiveMq数据还原?