Java消息中间件

 

一、分布式消息中间件(目的地)

 

图解

Java消息中间件

 

 

1.1 消息发送一致性

 

JMS的办法(XA协议)

Java消息中间件

 

最终的消息发送一致性方案

Java消息中间件

 

Java消息中间件

 

Java消息中间件

 

 

1.2 解决生产者和消息中间件的强依赖

方案1

Java消息中间件

 

方案2

Java消息中间件

 

方案3

Java消息中间件

 

 

 

1.3 消息模型

队列和主题;

一个消费者可以有多个连接,每个连接(Connection)都有唯一的ClientId;

Java消息中间件

 

 

 

 

1.4 订阅方式

 

非持久性(不好)

Java消息中间件

 

持久性(好)

Java消息中间件

 

 

 

 

1.5 消息存储(消息/消息表)

 

基于文件的消息存储

基于数据库的消息存储

基于双机内存的消息存储

 

 

 

 

1.6 消息系统的扩容

 

消息系统的扩容:直接添加即可。

Java消息中间件

 

 

 

 

1.7 消息投递

Java消息中间件

 

同步,异步。

 

 

 

 

1.8 消息重复

解决方案:幂等运算

 

 

 

1.9 其它属性

消息优先级

分级订阅

局部顺序

 

 

 

1.10 顺序的消息队列

FIFO

Java消息中间件

 

单机多队列

Java消息中间件