broker:消息服务器
producer:消息生产者,生产消息给broker
consumer:消息消费者,从broker处获取消息
topic:消息主题,订阅模式下消息汇集处,不同的producer向topic传送消息,topic再将消息发送给不同的consumer,实现广播功能。
queue:队列,PTP(point to point)模式下,特定的生产者将消息发送给queue,queue再将特定的消息发送给consumer。
message:消息体,根据不同的协议对消息进行封装传输。
PTP (点对点)
PTP点对点:使用queue作为通信载体
消息被消费以后,queue中不再存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。
发布/订阅
Pub/Sub发布订阅(广播):使用topic作为通信载体
queue实现了负载均衡,将producer生产的消息发送到消息队列中,由多个消费者消费。但一个消息只能被一个消费者接受,当没有消费者可用时,这个消息会被保存直到有一个可用的消费者。
topic实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都能得到这个消息,所以从1到N个订阅者都能得到一个消息的拷贝。
你以为我会求你?