CSDN:Apache基金会中的342个项目中,暂时还只有Kylin、CarbonData、Eagle和RocketMQ共计四个中国技术人主导的项目,对此您怎么看?您认为驱动「开源」最重要的因素是? 冯嘉:说实话,我个人其实不太喜欢听到“由中国人主导”这样的字样,我希望大家不管做什么事情,都要把握一个度,不卑不亢。2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目,对我们来说这是一大步,因为加入到Apache开源软件基金会需要经过评审方的严格考核与观察。这既是一种荣誉,又是一种压力。RocketMQ开源至今有五年历史,伴随着阿里巴巴的业务体量不断攀登,其架构也做了一次又一次的优化与升级。我们希望打造全球一流的产品,为此团队这几年不断深耕细作,进入Apache对我们来说是一个很好的开始,在Apache严谨且专业的开源理念熏陶下,我们相信RocketMQ能够发展得越来越好。在全球最享有声望的开源基金会上,相信也会有更多的由中国人捐赠的产品受益全球。 开源是IT技术快速发展的重要引擎,正是开源的共享和协同文化,促进了互联网、大数据、物联网、移动化信息技术的迅猛发展。提供“免费的产品”能够让大家进行初始的评估,而一旦确定用户对该产品的必然需求后,往往会通过一款增强版的付费产品来接近客户。这通常比传道士式的营销策略要有效得多。从这个角度来说,驱动开源向前发展的最重要的因素是商业化。如果你依赖的开源软件,过了一年作者不再维护了,企业用户就会有很大的损失。而且商业支持一般会解锁更多的功能,并且出了问题都有及时的解决。这一点最典型的成功案例当属Linux与MySQL。而这一开源商业化模式也被越来越多的互联网、云计算公司采纳,如Kafka背后的confluent、RabbitMQ背后的pivotal、Hadoop背后的Cloudera、Hortonworks与MAPR。以及最近闹得沸沸扬扬的Docker。 CSDN:使用RocketMQ技术的阿里目前可以在双十一当天承受万亿级消息容量,能否简单分享下其目前的架构及主要解决的问题特点? 冯嘉:RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成。其中NameServer以轻量级的方式提供服务发现和路由功能,每个NameServer存有全量的路由信息,提供对等的读写服务,支持快速扩缩容。Broker负责消息存储,以Topic为纬度支持轻量级的队列,单机可以支撑上万队列规模,支持消息推拉模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严格保证消息的有序性。除此之外,Broker还提供了同城异地容灾能力,丰富的Metrics统计以及告警机制。Producer和Consumer以SDK形式提供,由用户进行分布式部署,开奖,消息由Producer通过多种负载均衡模式发送到Broker集群,支持Batch发送、oneway发送。发送低延时,支持快速失败。Consumer支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的消息订阅机制,目前不支持Exactly once语义,所以需要用户自己做好判重处理。 RocketMQ目前主要主要用在金融领域的交易链路、数据同步(如MySQL binlog解析订阅)、日志分发、异构系统交互、异步解耦与流计算领域。我们希望RocketMQ能够在互联网、金融、物联网、大数据领域遍地开花、深耕细作。这个也是下一代RocketMQ(第四代)主要演进的方向。 CSDN:与其他消息中间件的对比,RocketMQ的特点是? 冯嘉:与其他MQ产品想比,RocketMQ最大优势在于它经历了历年双十一的高并发,海量数据(去年双十一是万亿级)的洗礼和积甸,愈发可靠和稳定。在功能特性层面,我们觉得它最大的亮点在于大数据流量下依然能够保证出色的低延迟,能够支撑海量消息堆积,全局保序。当然,今年我们会陆续推出一系列更靓的特性,如支持海量消息的延迟投递、分布式事务、分级的消息去重、物联网套件,甚至还包括Stream特性。也非常希望这方面的专家同学能够加入我们,帮助我们一同打造全球最具影响力的分布式产品。 CSDN:您最期待在SDCC 2017·深圳站大会上看到哪些内容? (责任编辑:本港台直播) |