本篇文章912字,读完约2分钟

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd


过滤消息

本文介绍消息服务MNS如何通过消息过滤标签把消息推送到不同的推送目标。
背景信息
通常情况下,在主题中创建订阅消息服务MNS可以把消息推送到订阅的推送目标。即消息和订阅没有设置消息过滤标签,所有消息都可以被成功推送到推送目标。
使用消息过滤标签功能时,消息的消息过滤标签和订阅的消息过滤标签一致,消息才能被成功推送到推送目标。即消息设置了消息过滤标签,订阅也设置了消息过滤标签,两个消息过滤标签一致,消息可以被成功推送到推送目标。
特殊情况下,当订阅没有设置消息过滤标签,无论消息是否设置了消息过滤标签,都可以被成功推送到推送目标。
应用场景
一些场景中需要根据消息内容把消息推送到不同的推送目标。为了达到这一功能,您可以创建多个主题,并为每个主题设置相应的推送目标。但是这样会增加额外的成本,并且增加了运维的复杂度。为了避免这种情况,消息服务MNS提供了消息过滤标签功能。您可以只创建一个主题,并在创建订阅时设置不同的消息过滤标签,结合消息的消息过滤标签消息服务MNS就可以把消息推送到不同的推送目标中。
消息过滤示例
下图介绍了携带不同消息过滤标签的消息,经过携带了消息过滤标签的订阅过滤后被推送到目标队列的过程。
上图示例场景中,在主题Topic 1创建3个消息过滤标签不同的订阅,Subscription 1、Subscription 2和Subscription 3。这3个订阅的推送目标分别是Queue 1、Queue 2和Queue 3。
消息的消息过滤标签和订阅的消息过滤标签一致。消息过滤过程如下:
消息服务MNS将Message 1推送到队列Queue 1。
消息服务MNS将Message 2推送到队列Queue 2。
订阅没有消息过滤标签。消息过滤过程如下:
消息服务MNS将Message 1推送到队列Queue 3。
消息服务MNS将Message 2推送到队列Queue 3。
消息服务MNS将Message 3推送到队列Queue 3。