优点
- 异构集成
- 缓解系统瓶颈
- 提高可伸缩性
- 根据队列深度添加多个消息侦听器并发处理
- 尽可能性的使用异步方式
- 提高最终用户生产率
- 无需等待响应
- 体系结构灵活性和敏捷性
- 组件的变化不会影响到数据的传递
企业消息结构
- 集中式体系结构
- 分散式体系结构
- 混合体系结构
消息传送模型
- 发布--订阅
- Topic
- 基于推送
- 点--点
使用场景
- SOA/ESB
- EDA (大多采用发布订阅模型)
- 异构平台集成
- EAI(如ERP 与订单应用集成)
- 企业到企业(替代EDI VAN模式)
- 解决地理分散的数据通信
- 信息广播
- 动态系统(动态添加生产或消费者)
JMS API
- ConnectionFactory
- Destination
- Connection
- Session
- Message
- MessageProducer
- MessageConsumer
ConnectionFactory和Destination 必须使用JNDI,从提供者处获得
一个应用通常只会有一个Connection对象,但可以有一个Session对象池,Session对象保存着用于消息传递的事务性工作单元
JMS 点对点 API
- QueueConnectionFactory
- Queue
- QueueConnection
- QueueSession
- Message
- QueueSender
- QueueReceiver
QueueConnectionFactory和Queue必须使用JNDI,多对一
JMS 发布--订阅 API
- TopicConnectionFactory
- Topic
- TopicConnection
- TopicSession
- Message
- TopicPublisher
- TopicSubscriber
多对对
RPC 与 消息传送
- RPC
- 系统同步,紧密耦合,高度依赖,系统间结构复杂
- JMS