腾讯:MQ 技术产品井喷,今天来详聊一下腾讯开源消息中间件 TubeMQ | 原力计划( 二 )
TubeMQ客户端的演进:
业务与TubeMQ接触得最多的是消费侧 , 怎样更适应业务特点、更方便业务使用我们在这块做了比较多的改进:
数据拉取模式支持Push、Pull:
- Push客户端:TubeMQ最初消费端版本只提供Push模式的消费 , 这种模式能比较快速地消费数据 , 减轻服务端压力 , 但同时也带来一个问题 , 业务使用的时候因为无法控制拉取频率 , 从而容易形成数据积压数据处理不过来;
- 带消费中止/继续的Push客户端:在收到业务反馈能否控制Push拉取动作的需求后 , 我们增加了resumeConsume/pauseConsume函数对 , 让业务可以模拟水位线控制机制 , 状态比较繁忙时调用pauseConsume函数来中止Lib后台的数据拉取 , 在状态恢复后 , 再调用resumeConsume通知Lib后台继续拉取数据;
- Pull客户端:我们后来版本里增加了Pull客户端 , 该客户端有别于 – Push客户端 , 是由业务而非Lib主动的拉取消息并对数据处理的结果进行成功与否的确认 , 将数据处理的主动权留给业务 。 这样处理后 , 虽然服务端压力有所提升 , 但业务消费时积压情况可大大缓解 。
- 数据消费行为支持顺序和过滤消费:在TubeMQ设计初我们考虑是不同业务使用不同的Topic , 实际运营中我们发现不少业务实际上是通过代理模式上报的数据 , 数据通过Topic下的文件ID或者表ID属性来区分 , 业务为了消费自己的一份数据是需要全量消费该Topic下的所有数据 。 我们通过tid字段支持指定属性的过滤消费模式 , 将数据过滤放到服务端来做 , 减少出流量以及客户端的数据处理压力 。
推荐阅读
- #程序员#腾讯女程序员相亲遭对方嫌弃,晒出聊天记录感叹:太难了
- 『腾讯科技』淘宝天猫蒋凡在阿里内网回应传闻:深表歉意,恳请公司展开调查
- 「腾讯」腾讯视频盈利难:2019年亏损30亿 盗墓题材连拍五年没水花
- 服务@云市场跨步式发展 打造ToB云市场阿里腾讯外“第三股势力”
- 每日经济新闻咨询@联邦学习成人工智能新贵 腾讯安全:技术服务能力才是重点
- 腾讯科技■消费券“暖”市场,中山市发2000万微信消费券
- 「腾讯创业」当年上《职来职往》《非你莫属》的“明星”公司,大多已经不见了
- 游戏■腾讯代理全新手游来了:MOBA+吃鸡 6月9号上线
- :腾讯游戏手机,一款腾讯为游戏打造的多功能手机
- 『数码盟』腾讯游戏手机,一款腾讯为游戏打造的多功能手机
