我希望知道我对消息总线和消息队列的理解是否正确。
首先,需要澄清命名问题:服务总线与消息总线可以互换使用吗?它是一种发布-订阅类型的系统,让任意数量的发布者将消息添加到消息集合中,任意数量的订阅者可以从中读取,到目前为止我的理解是正确的吗?
首先,需要澄清命名问题:服务总线与消息总线可以互换使用吗?它是一种发布-订阅类型的系统,让任意数量的发布者将消息添加到消息集合中,任意数量的订阅者可以从中读取,到目前为止我的理解是正确的吗?
P1 --- /``````S1
\________ Service Bus Middleware ------+------ S2
/ MESSAGE-COLLECTION \______S3
P2 ---
我不理解的是:
订阅者如何知道它感兴趣的消息是什么,我的意思是,它显然会订阅它,但它如何知道应该订阅哪个消息或哪些消息? 它在哪里看到消息列表?这是通过API还是其他方式提供给它的?
订阅者如何接收消息?
消息何时从MESSAGE-COLLECTION中删除? 我可以想象,每条消息都保留有一个计数器,该计数器表示成功处理消息的订阅者总数,每当一个订阅者成功处理该消息时,计数器就会递减。
消息队列(也称为消息代理)是一种推拉类型的系统。它有任意数量的生产者和消费者。每个生产者为每个消费者创建一个队列,向其提供消息。
--- Message Queue 1 ---- C1
/
P1 ------ +
\
--- Message Queue 2 ---- C2
P2 ------ + --- Message Queue 1 ---- C1
既然这种情况下,只要消息被消费者成功处理了,它就会被删除。我的消息队列理解是否正确?
另一个概念是事件中心,我不确定它到底是什么。