File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
docs/system-design/data-communication Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change 75
75
76
76
#### 4.1.1 JMS 简介
77
77
78
- JMS(JAVA Message Service,java消息服务)是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。** JMS(JAVA Message Service, Java消息服务)API是一个消息服务的标准或者说是规范** ,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
78
+ JMS(JAVA Message Service,java消息服务)是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。** JMS(JAVA Message Service, Java消息服务)API是一个消息服务的标准或者说是规范** ,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
79
79
80
80
** ActiveMQ 就是基于 JMS 规范实现的。**
81
81
84
84
①点到点(P2P)模型
85
85
86
86
![ 点到点(P2P)模型] ( https://user-gold-cdn.xitu.io/2018/4/21/162e7185572ca37d?w=575&h=135&f=gif&s=8530 )
87
- 使用** 队列(Queue)** 作为消息通信载体;满足** 生产者与消费者模式** ,一条消息只能被一个消费者使用,未被消费的消息在队列中保留直到被消费或超时。比如:我们生产者发送100条消息的话,两个消费者来消费一般情况下两个消费者会按照消息发送的顺序各自消费一半(也就是你一个我一个的消费。)
87
+
88
+
89
+ 使用** 队列(Queue)** 作为消息通信载体;满足** 生产者与消费者模式** ,一条消息只能被一个消费者使用,未被消费的消息在队列中保留直到被消费或超时。比如:我们生产者发送100条消息的话,两个消费者来消费一般情况下两个消费者会按照消息发送的顺序各自消费一半(也就是你一个我一个的消费。)
88
90
89
91
② 发布/订阅(Pub/Sub)模型
90
92
91
93
![ 发布/订阅(Pub/Sub)模型] ( https://user-gold-cdn.xitu.io/2018/4/21/162e7187c268eaa5?w=402&h=164&f=gif&s=15492 )
92
- 发布订阅模型(Pub/Sub) 使用** 主题(Topic)** 作为消息通信载体,类似于** 广播模式** ;发布者发布一条消息,该消息通过主题传递给所有的订阅者,** 在一条消息广播之后才订阅的用户则是收不到该条消息的** 。
94
+
95
+
96
+ 发布订阅模型(Pub/Sub) 使用** 主题(Topic)** 作为消息通信载体,类似于** 广播模式** ;发布者发布一条消息,该消息通过主题传递给所有的订阅者,** 在一条消息广播之后才订阅的用户则是收不到该条消息的** 。
93
97
94
98
#### 4.1.3 JMS 五种不同的消息正文格式
95
99
104
108
105
109
### 4.2 AMQP
106
110
107
- AMQP,即Advanced Message Queuing Protocol, 一个提供统一消息服务的应用层标准 ** 高级消息队列协议** (二进制应用层协议),是应用层协议的一个开放标准,为面向消息的中间件设计,兼容 JMS。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件同产品,不同的开发语言等条件的限制。
111
+ AMQP,即Advanced Message Queuing Protocol, 一个提供统一消息服务的应用层标准 ** 高级消息队列协议** (二进制应用层协议),是应用层协议的一个开放标准,为面向消息的中间件设计,兼容 JMS。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件同产品,不同的开发语言等条件的限制。
108
112
109
113
** RabbitMQ 就是基于 AMQP 协议实现的。**
110
114
You can’t perform that action at this time.
0 commit comments