与允许我们传递一对一的 Azure 服务总线队列相比,Azure 服务总线主题允许我们传递一对多的消息。这意味着我们可以将相同的消息传递给称为订阅者的多个客户端。这个消息系统基本上是一个 ESB 系统(企业服务总线),允许进行“发布/订阅”通信。
我有多个客户,我为每个客户创建了主题。每当服务器向客户端发送消息时,它只是将消息放入客户端主题。如果我创建单个主题和多个订阅者以便每个客户端只听它的消息,是否有可能?
与允许我们传递一对一的 Azure 服务总线队列相比,Azure 服务总线主题允许我们传递一对多的消息。这意味着我们可以将相同的消息传递给称为订阅者的多个客户端。这个消息系统基本上是一个 ESB 系统(企业服务总线),允许进行“发布/订阅”通信。
我有多个客户,我为每个客户创建了主题。每当服务器向客户端发送消息时,它只是将消息放入客户端主题。如果我创建单个主题和多个订阅者以便每个客户端只听它的消息,是否有可能?
如果我创建单个主题和多个订阅者以便每个客户端只听它的消息,是否有可能?
这样做当然是可能的。您需要做的是配置主题过滤规则,以便每个订阅根据为它们定义的过滤条件获取消息。您可以在此处了解有关过滤规则的更多信息:https ://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters 。
从这个链接:
订阅者可以定义他们希望从主题接收哪些消息。这些消息以一个或多个命名订阅规则的形式指定。每个规则都包含一个选择特定消息的条件和一个注释所选消息的操作。对于每个匹配的规则条件,订阅都会生成一个消息的副本,对于每个匹配的规则可能会有不同的注释。