【摘要】 场景介绍一个消息队列(MQ)存储的消息,可以包含不同实际用途。如果这些消息不加区分,消费者每次消费都会按顺序拉取消息,直到完成对所有消息的消费。如果消费者只对某一类型的消息感兴趣,那么将所有消息都消费一遍必会影响消费者处理效率。 解决方案分布式消息服务DMS是稳定可靠的消息队列服务,提供普通队列、有序队列、Kafka、ActiveMQ、RabbitMQ,兼容HTTP、TCP、AMQP协议,应…
场景介绍
一个消息队列(MQ)存储的消息,可以包含不同实际用途。如果这些消息不加区分,消费者每次消费都会按顺序拉取消息,直到完成对所有消息的消费。如果消费者只对某一类型的消息感兴趣,那么将所有消息都消费一遍必会影响消费者处理效率。
解决方案
分布式消息服务DMS是稳定可靠的消息队列服务,提供普通队列、有序队列、Kafka、RabbitMQ,兼容HTTP、TCP、AMQP协议,应用于系统解耦、异步通信、流量削峰去谷、第三方集成等场景。DMS提供消息标签的能力,支持生产者为每条消息提供一个或多个标签(tag)。标签(tag)是用来区分某个 消息队列(MQ) Topic 下的消息分类,通常情况下,标签(tag)可以用来区分同一个 Topic 下相互关联的消息,就像全集和子集的关系,流程先后的关系。消费者则根据标签(tag)的内容来过滤消息,确保每个消费者最终只会消费到它感兴趣的消息类型,提高消息消费效率。
以金融交易场景为例,在一种交易中可能会产生多种类型的消息,如股票(stock),基金(fund),贷款(loan)等。这些消息会通过交易(business)Topic发送到business_Topic 的队列(MQ)中,并传递给不同的处理系统,如股票系统,基金系统,贷款系统,实时分析系统等。然而基金系统只关心基金类型的消息,而实时分析系统可能需要获取到所有类型的消息,如下图所示:

在生产消息时,生产者对每条消息加上标签(tag),消费者在拉取消息时决定是否仅获取带有某标签(tag)的消息,没有被指明标签(tag)的消息则不会获取,从而大大提高了消息消费效率。如下图所示:

DMS普通队列与FIFO队列均支持消息标签(tag)功能,使用DMS服务,轻松利用消息标签实现消息过滤。想要了解DMS的更多其他特性和功能,欢迎点击分布式消息服务DMS查看。

来源:华为云社区原创 作者:小柴不加胡

【干货贴】消息队列如何利用标签实现消息过滤相关推荐

  1. 消息队列的使用场景_消息队列MQ的特点、选型及应用场景

    一.什么是消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列. 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可 ...

  2. RabbitMQ:什么是消息队列MQ?为什么使用消息队列MQ?入门MQ先学哪种?(一)

    0. 引言 MQ(Message Queue):消息队列,如今在各类业务场景中已经被广泛使用,特别在并发量日益增涨的业务和微服务架构中,消息队列能够帮助我们解决很多传统方式所不能解决的问题. 所以今天 ...

  3. 浅谈消息队列及常见的分布式消息队列中间件

    背景 分布式消息队列中间件是是大型分布式系统不可缺少的中间件,通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息.所以消息队列主要解决应用耦合.异步消 ...

  4. 消息队列实践一之RabbitMQ消息推送(解决服务器错误:Whoops! Lost connection to ws://localhost:15674/ws)

    一.写在前面的问题和解决办法 1.问题背景: RabbitMQ,用websock推送消息失败 2.问题描述: 服务器错误:Whoops! Lost connection to ws://localho ...

  5. Java架构之消息队列 (一):消息队列的概述

    消息队列系列分享大纲: 一.消息队列的概述 二.消息队列之RabbitMQ的使用 三.消息队列之Kafka的使用 四.消息队列之RabbitMQ的原理详解 五.消息队列之Kafka的原理详解 六.消息 ...

  6. springboot使用redis实现消息队列功能,redis使用list和stream实现消息队列功能,redis实现消息队列的风险点分析

    文章目录 写在前面 基于list的消息队列解决方案 使用list基本实现消息队列 阻塞式消费,避免性能损失 替换while(true) 实现消息幂等 保证消息可靠性 基于stream的消息队列解决方案 ...

  7. 消息队列的实践php,php消息队列处理实践 ,利用AMQP和redis两种方法

    一:利用AMQP方法 类 amqp.php e_name = $e_name; $this->q_name = $q_name; $this->k_route = $k_route; // ...

  8. videojs如何获取请求消息_消息队列中,如何保证消息的顺序性?

    点击?蓝色" 深入原理",关注并"设为星标" 技术干货,第一时间推送 消息无序产生的原因 消息队列,既然是队列就能保证消息在进入队列,以及出队列的时候保证消息的 ...

  9. 消息队列、RabbitMQ原理、消息队列保证幂等性,消息丢失,消息顺序性,以及处理消息队列消息积压问题

    消息队列 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已 常见的消息队列 RabbitMq ActiveM ...

最新文章

  1. android 瀑布流的实现(用recyclerview的实现的)
  2. 使用Telnet与ssh协议远程登录linux系统
  3. c语言for循环加法,BigDecimal 在for循环中相加注意事项
  4. Vertica的这些事lt;十五gt;—— Vertica备份元数据信息
  5. jQuery实现布局高宽自适应
  6. 定量的方法如何能划分类别?
  7. welcome-file-list标签的控制作用以及在springmvc中此标签的的配置方式
  8. 用VB实现带图片的XP风格的按钮控件
  9. 大数据开发笔记(七):Kafka分布式流式处理
  10. 物联网大数据平台具备哪些功能
  11. 防病毒必务宝典—计算机病毒专杀进程列表(转)
  12. lua luarocks luacheck linux安装
  13. 时钟屏保fliqlo
  14. 唤客猫SCRM功能详解(二)
  15. 日本知名汽车零部件公司巡礼系列之株式会社67
  16. 【Ubuntu 20.04 安装中文输入法 谷歌拼音】
  17. Lonlife-ACM Round #7
  18. 3A之自动白平衡(AWB)篇
  19. win10pin不可用进不去系统_人脸识别门禁控制系统+安检通道
  20. Re28:读论文 CECP Charge Prediction by Constitutive Elements Matching of Crimes

热门文章

  1. java电力巡检系统 项目讲解_公司召开安全巡检系统APP试点项目上线启动会
  2. 求解两个经纬点之间的距离和角度(mm级精度)
  3. Oracle DBA 经典面试题
  4. ASP .NET Controller返回类型
  5. 使用 Task 简化异步编程
  6. wikioi 1688 求逆序对
  7. I,P,B帧和PTS,DTS的关系 转载
  8. java日志文件log4j.properties配置详解
  9. 测试笔的使用_宽带故障怎么办?毕亚兹红光笔1秒定位光纤故障,快速解决问题...
  10. C语言--输入一个日期,输出当前日期是这一年的第几天(完整代码)