我想知道我对消息总线和消息队列工作的理解是否正确。
首先,我需要清除命名,服务总线与消息总线可以互换使用?它是一种发布者-订阅者类型的系统,其中消息被添加到任意数量的发布者的消息集合中,并且任意数量的订阅者都可以从中读取,到目前为止我是对的吗?
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
由于是这种情况,一旦消费者成功处理该消息,该消息就会被删除。我的消息队列对其工作原理的理解是否正确?
我不确定的另一个概念是event hub。