Github向左,腾讯向右-IT巨头们的殊途同归

近日世界上最大的开源网站Github,推出手机APP的消息占据了各大科技媒体的头条,我们知道移动端既不合适写代码,也不适合读代码,只能进行点赞和互动,这不禁让整个程序员群体惊呼Github真的要转型同性交友吗?

Github向左,腾讯向右-IT巨头们的殊途同归_第1张图片

无独有偶,社交网络巨头腾讯近日重磅开源项目不断,先是物联网操作系统Tencent Tiny OS横空出世,创造了迭代速度与内核精简性的的新高度;后来号称日均处理消息25万亿条的分布式消息中间件系统TubeMQ也重磅开源。笔者刚刚在上Github做了一下统计,目前腾讯在Github上发布的总项目数达到90个,Star数破26万;虽然对比国内另一个IT巨头阿里巴巴还有不少差距,但是腾讯这样的开源成绩也远超笔者预期。

腾讯为何拥抱开源

腾讯的企业文化强调竞争,其内部竞争机制在业内是可谓如雷贯耳,甚至连微信都是激烈内部竞争胜出的项目,而开源是共赢的逻辑,和竞争从理念呈矛盾关系。那么腾讯又为何要拥抱开源呢?笔者总结有以下三点原因:

开源之争既标准之争:笔者在《找到Tiny OS的创始人,畅谈新时代的爆款“物联网”》( https://blog.csdn.net/BEYONDMA/article/details/103096369)曾经提到过开源之争就是20年前的标准之争。谷歌的深度学习框架Tensorflow成为人工智能方面的行业标准,靠的就是开源用户的口口相传,可以说谁掌握了最流行的开源项目,谁就掌握了话语权,从而主导行业的发展方向。

开源之争就是入口之争:目前各大IT厂商之所以推出自己的操作系统、AI框架开源项目,其实本质的商业逻辑还是争夺用户的入口流量,可以说谁掌握流量入口谁就能在未来竞争中掌握主动。

开源之争就是全栈之争:目前类似于腾讯、阿里这种的企业大多将自己整个技术栈的从前端到后端全部进行开源,这种策略就是巩固自身在全技术栈的领导优势,供行业其它参考者模仿,为自身的品牌价值及技术能力宣传造势。

所以开源实际是最高形式的竞争,整个社区的认可才是最高的认可。

腾讯的开源成绩单

11月7日,腾讯Techo开发者大会开源技术分论坛上,腾讯首次公开表示其开源计划目前已进入“深水区”,改变过去“自下而上”的开源模式,向“自下而上”与“自上而下”相结合的协同式开发演进。腾讯开源将在内部协同共建的基础上,推动更底层、更重磅的技术对外开放,紧密参与开源社区建设,不断完善开源治理,打造开发者共建的生态。

腾讯目前已加入Linux、Apache等9大开源基金会,深度合作成为最高级别会员,并向开源基金会捐赠3大优秀开源项目。2018年6月,腾讯将高性能RPC开发框架TARS,及其轻量化名字服务方案TSeer捐赠给Linux基金会;2018年8月,腾讯将业界领先的深度学习框架Angel捐赠给Linux旗下专注人工智能的LF AI基金会;2019年9月,腾讯万亿级分布式消息中间件TubeMQ正式对外开源,也已捐赠给Apache基金会,成为官方认可的Incubator项目。

揭秘TubeMQ的性能秘籍

TubeMQ(Github地址:https://github.com/Tencent/TubeMQ/)是腾讯自研的分布式消息中间件系统(MQ),特别擅长进行海量数据的存储和传输,相较其它主流MQ组件,TubeMQ所经历的考验可谓是最多的,毕竟最高日交易量33万亿的数据摆在这里,笔者相信在TubeMQ今后会迅速取代kafka成为MQ软件系的新C位。其架构图如下:

    

Github向左,腾讯向右-IT巨头们的殊途同归_第2张图片

  1. Portal:包括API和Web两块,API对接集群之外的管理系统,Web是在API基础上对日常运维功能做的页面封装;
  2. Control:由1个或多个Master节点组成,Master HA通过Master节点间心跳保活、实时热备切换完成(这是大家使用TubeMQ的Lib时需要填写对应集群所有Master节点地址的原因),主Master负责管理整个集群的状态、资源调度、权限检查、元数据查询等;
  3. Store:由相互之间独立的Broker节点组成,每个Broker节点对本节点内的Topic集合进行管理,包括Topic的增、删、改、查,Topic内的消息存储、消费、老化、分区扩容、数据消费的offset记录等,集群对外能力,包括Topic数目、吞吐量、容量等,通过水平扩展Broker节点来完成;
  4. Client:以Lib形式对外提供,大家用得最多的是消费端,相比之前,消费端现支持Push、Pull两种数据拉取模式,数据消费行为支持顺序和过滤消费两种。对于Pull消费模式,支持业务通过客户端重置精确offset以支持业务extractly-once消费,同时,消费端新推出跨集群切换免重启的BidConsumer客户端;
  5. Zookeerper:仅做offset的持久化存储,考虑到接下来的多节点副本功能该模块暂时保留。
  6. 总的来说:Kafka按照顺序写顺序块读的模式实现,单实例下性能数据很强,但随着实例数增多,它的性能就呈现不稳定下降状态;TubeMQ采用 顺序写 + 随机读的模式,即使在最大限制下系统仍可以做到长期稳定的1G以上的入流量,同时,结合服务端过滤,过滤消费非常顺畅。

总的来说与Kafka按照顺序写顺序块读的模式不同,TubeMQ采用 顺序写 + 随机读的模式,所以Kafka单实例下性能数据很强,但随着实例数增多,就是TubeMQ的天地了,即使在最大限制下系统仍可以做到长期稳定的1G以上的入流量。

开源巨头玩社交

可能有的读者会问Github不就是推出个APP嘛,怎么就和社交联系到一起了呢。其实正如前文所述开源网站最核心的两个功能就是编写代码和阅读代码,而这两个功能在手机上的表现不会太好,而移动端最能发扬光大的功能就是回复ISSUE和点击STAR了。

Github向左,腾讯向右-IT巨头们的殊途同归_第3张图片

 

随着移动APP的推出,必将使Github这个开源巨头走向社交领域,而且从GitHub的高管的发言中也能看出端倪:

CEO Nat Friedman为APP站台时表示“我敢打赌,五年内在 GitHub 上进行的互动有一半以上将在移动设备上进行”,

工程副总裁 Dana Lawson 则说:“这有点像是在完善 GitHub 体验,使用移动设备,你可以管理、分类和清除通知,对拉取请求进行协作,当被直接提及时也可以接收推送通知。”

Github在全球共有4000多万注册者,但和真正的社交巨头如脸书和腾讯相比还有不少差距,若想真正走向盈利,Github有继续做大的动力。而且考虑到开源社区用户多为程序员且粘性较高,所以用户群体也有继续对外辐射的潜力。

Github 移动APP带来的新逻辑

随着APP的推出Github进入社交领域,第一要务就是吸引非IT人员注册使用,随着用户人数的增多,Github的APP肯定会照顾非专业人士的使用体验,那么也就必将引入腾讯系用户体验至上的产品逻辑。

媒体化趋势:Github目前只是专注于开源平台的建设,还没有独立的科技新闻媒体运作,但是随着APP的推出,其首先要做的就是推送第一手的开源资讯。所以笔者猜测Github肯定会成立媒体团队,投放相关资讯。

Wiki与Demo的重要性大大提高:目前Github上获得star基本上是靠项目的硬核实力,遵循“Talk is cheep,Show me the code”的逻辑,但随着用户群体的多元化,单纯的硬核不见得work了,而腾讯这种重要用户体验的公司其star数可能会大大提升。

IT巨头的殊途同归

Github玩社交为的是做大;腾讯拥抱开源为的是做强,虽然逻辑不同,但是随着行业的不断发展,我相信在Github的用户中会出现更多妹子的身影,同时笔者也希望在Github看到更多如Tiny OS、TubeMQ等优质项目国产自研的开源项目,推动整个国内技术水平的提升。

 

 

 

 

你可能感兴趣的:(TubeMQ,开源)