腾讯自研万亿级消息中间件TubeMQ为什么要捐赠给Apache?
导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕。本次沙龙邀请了多位腾讯技术专家围绕腾讯开源与各位开发者进行探讨,深度揭秘了腾讯开源项目TencentOS tiny、TubeMQ、Kona JDK、TARS以及MedicalNet。本文是对张国成老师演讲的整理。 本文要点: Message Queue 的原理和特点; TubeMQ相关实现原理及使用介绍; TubeMQ后续的发展和探讨。 一、Message Queue 简介 对于Message Queue(以下简称MQ),Wiki百科上的定义指:不同进程之间或者相同进程不同线程之间的一种通讯方式,它是一种通讯方式。 那我们为什么要采用MQ呢?这是由MQ的特点来决定的。第一是因为它可以整合多个不同系统共同协作;第二是它可以解耦,进行数据传递和处理;第三是它可以做峰值的缓冲处理,我们平常接触到的像Kafka、RocketMQ、Pulsar等基本上也都有这样的特点。 那作为大数据场景下的MQ又有什么特点呢?从我个人的理解来说,就是 高吞吐低延时,系统尽可能地稳定,成本尽可能地低,协议也不需要特别地复杂,特别是水平扩展能力要尽可能的高。 因为像海量数据基本上都是到百亿、千亿、万亿,比方说我们自己的生产环境可能一个月、一年的时间就会翻一番,如果没有横向的扩展能力,系统就很容易出现各种问题。 二、TubeMQ实现原理及使用介绍 1