Apache TubeMQ 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache TubeMQ 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Apache TubeMQ 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Apache TubeMQ 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Apache TubeMQ 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

TubeMQ 是腾讯在 2013 年自研的分布式消息中间件系统,专注服务大数据场景下海量数据的高性能存储和传输,较之于众多明星的开源 MQ组件,TubeMQ 在海量实践(稳定性+性能)和低成本方面有着比较好的核心优势。

2019 年 9 月 12 日,Apache 软件基金会成立 20 周年之际,腾讯在 ApacheCon 宣布 TubeMQ 捐赠给 ASF。TubeMQ 成为腾讯开源第一个捐赠 Apache 基金会的项目。

特性:

  • 纯 Java 实现语言
  • 引入 Master 协调节点:相比 Kafka 依赖于 Zookeeper 完成元数据的管理和实现 HA 保障不同,TubeMQ 系统采用的是自管理的元数据仲裁机制方式进行,Master 节点通过采用内嵌数据库 BDB 完成集群内元数据的存储、更新以及 HA 热切功能,负责 TubeMQ 集群的运行管控和配置管理操作,对外提供接口等;通过 Master 节点,TubeMQ 集群里的 Broker 配置设置、变更及查询实现了完整的自动化闭环管理,减轻了系统维护的复杂度
  • 服务器侧消费负载均衡:TubeMQ 采用的是服务侧负载均衡的方案,而不是客户端侧操作,提升系统的管控能力同时简化客户端实现,更便于均衡算法升级
  • 系统行级锁操作:对于 Broker 消息读写中存在中间状态的并发操作采用行级锁,避免重复问题
  • Offset 管理调整:Offset 由各个 Broker 独自管理,ZK 只作数据持久化存储用(最初考虑完全去掉ZK依赖,考虑到后续的功能扩展就暂时保留)
  • 消息读取机制的改进:TubeMQ 采用的是消息随机读取模式,同时为了降低消息时延又增加了内存缓存读写,对于带 SSD 设备的机器,增加消息滞后转 SSD 消费的处理,解决消费严重滞后时吞吐量下降以及 SSD 磁盘容量小、刷盘次数有限的问题,使其满足业务快速生产消费的需求
  • 消费者行为管控:支持通过策略实时动态地控制系统接入的消费者行为,包括系统负载高时对特定业务的限流、暂停消费,动态调整数据拉取的频率等;
  • 服务分级管控:针对系统运维、业务特点、机器负载状态的不同需求,系统支持运维通过策略来动态控制不同消费者的消费行为,比如是否有权限消费、消费时延分级保证、消费限流控制,以及数据拉取频率控制等
  • 系统安全管控:根据业务不同的数据服务需要,以及系统运维安全的考虑,TubeMQ 系统增加了 TLS 传输层加密管道,生产和消费服务的认证、授权,以及针对分布式访问控制的访问令牌管理,满足业务和系统运维在系统安全方面的需求
  • 资源利用率提升改进:相比于 Kafka,TubeMQ 采用连接复用模式,减少连接资源消耗;通过逻辑分区构造,减少系统对文件句柄数的占用,通过服务器端过滤模式,减少网络带宽资源使用率;通过剥离对 Zookeeper 的使用,减少 Zookeeper 的强依赖及瓶颈限制
  • 客户端改进:基于业务使用上的便利性以,我们简化了客户端逻辑,使其做到最小的功能集合,我们采用基于响应消息的接收质量统计算法来自动剔出坏的 Broker 节点,基于首次使用时作连接尝试来避免大数据量发送时发送受阻

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (12)

加载中
2020/12/23 15:50
回复
举报
github一年没更新了,一次性项目吗?
2020/11/27 10:31
回复
举报
腾讯的产品,屌文档搞的你蛋疼。。。滚,有rocketmq就可以了
2019/12/17 11:05
回复
举报
支持阿里系!!!
2019/12/16 14:19
回复
举报
不管好不好用,这框架一看就是人家不想要了,开源出来的,连基本的开发文档,流程都不全,你开源出来做啥,就接截几个图,你的诚意在哪,这么大企业,企业责任在哪,还不如一个个人开发者或小团队?一如既往的鄙视鹅厂,鹅厂出品必属烂品
2019/11/27 17:21
回复
举报
不敢用啊
2019/11/26 16:16
回复
举报
疼讯开源,必属辣鸡
2019/11/26 16:05
回复
举报
rz
土逼mq??
2019/11/20 08:57
回复
举报
不管好不好用,这框架一看就是人家不想要了,开源出来的,连基本的开发文档,流程都不全,你开源出来做啥,就接截几个图,你的诚意在哪,这么大企业,企业责任在哪,还不如一个个人开发者或小团队?一如既往的鄙视鹅厂,鹅厂出品必属烂品
2019/11/20 08:52
回复
举报
这样开源出来反而是在坑人
2019/11/26 16:15
回复
举报
mark
2019/10/12 16:49
回复
举报
更多评论
发表于开发技能专区
2020/12/23 09:19

Apache TubeMQ 项目全面升级为 TubeHub

近日,Apache TubeMQ 项目负责人宣布该项目将进行全面升级拓展,并更名为 TubeHub 。 TubeMQ 项目始于 2013 年,是腾讯自研的高吞吐消息队列组件。项目团队于 2019 年将 TubeMQ 捐赠给 Apache 基金会,成为腾讯首个被 Apache 基金会接受的项目。 来自腾讯的 Apache TubeMQ 项目负责人薛赵明介绍,在 Apache 基金会一年的项目孵化过程中,项目团队新增了 40+ 的 contributores,社区提交了 400+ issuses,合并了 300+ PRs,共发布...

5
5
发表于开发技能专区
2019/09/18 07:26

腾讯万亿级大数据组件 TubeMQ 正式开源

近日,在 ApacheCon 2019 上,腾讯开源管理委员会委员、腾讯开源联盟主席、Apache 软件基金会 Member 堵俊平介绍了腾讯开源路线图,宣布腾讯万亿级分布式消息中间件 TubeMQ 正式对外开源,并计划捐赠给 Apache 基金会。 ▲ 腾讯开源路线图 TubeMQ 的原型是腾讯数据平台部在2013年自研的分布式消息中间件系统(MQ),专注于大数据场景下海量数据的高性能存储和传输,长期服务微信支付、腾讯视频、广点通等产品。 ▲ TubeMQ 项目介...

28
62
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
01/21 10:55

【Apache TubeMQ】Apache TubeMQ的Benchmark测试解读

# 1. 前言 [Apache TubeMQ](https://tubemq.apache.org/zh-cn/)的Benchmark测试项为什么要这么设计?每一个场景反馈了哪些内容,是否是为了放大TubeMQ的优点而做的针对性场景定义?和其他MQ的Benchmark测试用例相比异同点在哪里?这篇我们一起来做TubeMQ的Benchmark测试项及测试结果的解读。 # 2. 说在前面 TubeMQ的Benchmark测试项及测试结果报告[tubemq_perf_test_vs_Kafka](https://tubemq.apache.org/zh-cn/docs/tubemq_per...

1
0
发表了博客
2019/09/19 14:25

TubeMQ安装使用

https://github.com/Tencent/TubeMQ/blob/master/docs/tubemq_user_guide.md

0
0
01/18 14:41

【Apache TubeMQ】Apache TubeMQ数据可靠性介绍

1. 前言 我们在Apache TubeMQ的适用场景有介绍,TubeMQ适用于极端情况下容忍少量数据丢失的业务场景,那么TubeMQ到底在什么情况下可能会出现数据丢失?为什么要这么设计?同类MQ在这方面是怎么做的?这篇文档计划解答这几个问题。 2. 结论 Apache TubeMQ系统数据存储采用的是单节点多磁盘RAID10的副本方案进行存储,数据只在如下场景存在可能丢失情况: 机器断电,已回复成功但还没有被消费且处在内存中的数据会丢;机器上线后,...

0
0
01/13 15:11

【Apache TubeMQ】什么场景下适合用Apache TubeMQ?

# 1. 前言: [Apache TubeMQ](https://tubemq.apache.org/zh-cn/)是腾讯于2019年对外开源后捐献给Apache的新一代MQ,其源于腾讯公司的实际生产环境,专注服务海量数据的高性能存储和传输,在MQ已是红海的今天(仅Apache就已经有5个MQ),较之于众多的开源MQ组件,Apache TubeMQ到底有些什么特点,我们在什么场景下适用,应用这个产品能给我们带来什么好处?本文想从这点进行介绍。 # 2. 什么场景下适用 Apache TubeMQ? 总结起来...

2
0
01/25 10:01

【Apache TubeMQ】Apache TubeMQ性能影响因子分析

# 1. 前言: 我们在应用[Apache TubeMQ](https://tubemq.apache.org/zh-cn/)时,该如何配置它的参数才能使系统的性能达到最优?有哪些坑会影响到系统的性能我们要提前关注?生产和消费份数对整体的入出流量影响情况是怎样? 本篇文档引用的是2018年测试数据,但不影响大家对些问题的理解和掌握。通过调整各个参数值来获取其对TubeMQ系统性能的影响情况后,大家基本上就清楚了各个因子对系统性能的影响,方便大家基于此展开相关的...

0
0
01/15 19:14

【Apache TubeMQ】Apache TubeMQ使用时要注意什么?

## 1. 前言 [Apache TubeMQ](https://tubemq.apache.org/zh-cn/)使用时要注意哪些点?为什么要这么设计?我把初次接触本系统的同学提到最多的几个问题在这里汇总解答下,便于大家了解。 ## 2. 问题 ### 2.1 为什么Broker要先配置再使用? 这个应是[Apache TubeMQ](https://tubemq.apache.org/zh-cn/)在使用体验上与其他MQ的最大不同,如下图所示,集群要先部署Master;Master部署好Broker上线前,要先在Master配置好Broker相关配...

0
0
发表于开发技能专区
2019/09/18 00:00

腾讯消息中间件TubeMQ开源了 TubeMQ总体介绍

TubeMQ总体介绍 TubeMQ是腾讯大数据在2013年开始研发的分布式消息中间件系统(MQ),专注服务大数据场景下海量数据的高性能存储和传输。经过近7年上万亿的海量数据沉淀,较之于众多的开源MQ组件,TubeMQ在海量实践(稳定性+性能)和低成本方面有一定的优势。一个礼拜前,TubeMQ开源了,本篇博文转载自官方公布的文档。博主花了半天搭建开发环境到运行,到发送消息接收消息体验下来,发现不管是腾讯的TubeMQ,还是rocketmq,他们...

0
0
发表于开发技能专区
2019/09/26 07:00

腾讯万亿级大数据组件 TubeMQ 正式开源

点击上方“民工哥技术之路”选择“星标” 每天10点为你分享不一样的干货 读者福利!多达 2048G 各种资源免费赠送 来源:腾讯开源 9月12日,Apache软件基金会成立20周年之际,腾讯在ApacheCon宣布TubeMQ 开源。TubeMQ 启动计划捐赠 Apache 基金会的流程。 TubeMQ 的原型是腾讯数据平台部在2013年自研的分布式消息中间件系统(MQ),专注于大数据场景下海量数据的高性能存储和传输,长期服务微信支付、腾讯视频、广点通等产品。 ...

0
0
发表了博客
2019/04/10 10:10

腾讯自研万亿级消息中间件TubeMQ为什么要捐赠给Apache?

导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕。本次沙龙邀请了多位腾讯技术专家围绕腾讯开源与各位开发者进行探讨,深度揭秘了腾讯开源项目TencentOS tiny、TubeMQ、Kona JDK、TARS以及MedicalNet。本文是对张国成老师演讲的整理。 本文要点: Message Queue 的原理和特点; TubeMQ相关实现原理及使用介绍; TubeMQ后续的发展和探讨。 一、Message Queue 简介 对于Message Queue(以下简称MQ),Wiki百科上的定义指:不...

0
0
发表了博客
2019/09/28 14:07

腾讯万亿级分布式消息中间件TubeMQ正式开源

<div class="htmledit_views" id="content_views"> <div class="rich_media_content" id="js_content"> <p></p><p><img class="rich_pages" src="https://ss.csdn.net/p?https://mmbiz.qpic.cn/mmbiz_png/W7W9IgARmGicYBy5305vSRPrtkeY3acFiaV4jbvGycAIiaURmfP0wicsC1hYZp2kTsD1txD5brJEBLWerJCb8waVkA/640?wx_fmt=png" alt="640?wx_fm...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2019/09/22 08:56

【一周】Oracle全球首个自治OS、在自己写的CPU上运行自己写的OS、Java 13发布

回顾一周社区热门资讯 第【四十】期:20190914-20190920 点击相应标题,跳转阅读全文。 GNOME 3.34 正式发布 一年中的第 256 天,程序员你懂的 9 月 13 日是俄罗斯的法定程序员日,这一天是一年中的第 256 天,程序员一看就知道这个数字的特别之处:它是十六进制的第 100 天,同时也是 2^8 天(闰年是 9 月 12 日)。 End Software Patents,反对软件专利,你觉得怎么样? “End Software Patents”(ESP)认为软件专利伤害了每...

12
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
12 评论
251 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部