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

无独有偶,社交网络巨头腾讯近日重磅开源项目不断,先是物联网操作系统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位。其架构图如下:

  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了。

随着移动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等优质项目国产自研的开源项目,推动整个国内技术水平的提升。

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

  1. 互联网+制造上演两马战:腾讯向左、阿里向右

    热门影视剧<人民的名义>中有一个场景给我留下深刻印象.做网络营销的郑乾(郑胜利)在饭桌上问他老爸郑西坡"你知道互联网Plus是什么吗?",换来的是一脸懵逼.郑西坡所在的 ...

  2. C++/C++11中左值、左值引用、右值、右值引用的使用

    C++的表达式要不然是右值(rvalue),要不然就是左值(lvalue).这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能. 在C++语言中,二者的区别就没 ...

  3. 【C++11】左值引用和右值引用

    目录 一.新的类功能 1.新的默认成员函数 2.类成员变量初始化 3.强制生成默认函数的关键字default 4.禁止生成默认函数的关键字delete 二.左值和右值 1.左值和左值引用 2.右值和右 ...

  4. 智能向左,设计向右,酒店行业进入“智美新时代”

    在 大众的传统印象中,酒店行业只要把规模发展起来,保证品质,就可以以不变应万变. 不过,在疫情 发生的这几年,酒店行业的动作颇多. 一方面,似乎所有酒店都做智能化.无接触服务.服务机器人等成为连锁酒店 ...

  5. 小程序经济大爆发,微信向左,百度向右

    近日,阿拉丁小程序统计平台发布了2018年上半年小程序生态白皮书,白皮书显示,微信小程序C端用户已达到2.8亿,小程序数量达到100万,相对于今年1月张小龙公布的58万个小程序而言,增幅接近翻倍.一度 ...

  6. 瓜分BAT的流量红利:头条向左,小米向右

    回首互联网前面的二十年会发现,广告是互联网商业化的第一基石,互联网广告走过了黄金二十年,从门户到搜索到联盟到社交再到电商,不同广告形式开启接力跑,最近几年互联网盈利模式正在巨变. 2013年,百度营收 ...

  7. 区块链金融:DeFi向左,Staking向右

    本文根据刘教链在魔笛手社群的分享整理而成,全文7500余字. 内容目录: 一.DeFi:金融的去中心化 二.DeFi不是FinTech 三.DeFi的分类 四.Staking前传:PoS和DPoS 五 ...

  8. 智能硬件单品向左、平台向右

    世界正在进入万物互联时代,即很多互联网大佬所描绘的"IoT(Internet of Things)".几乎所有互联网巨头对于IoT时代的到来都严阵以待.厉兵秣马,期望做智能硬件行业 ...

  9. 单片机向左,嵌入式向右

    单片机向左,嵌入式向右 这么个标题我想说什么呢?意思是单片机跟嵌入式是有区别的.这篇文章就是来分析要如何选择,是学嵌入式还是单片机呢?我们朱有鹏物联网大讲堂推出的课程就有单片机跟嵌入式两个系列课程,有 ...

最新文章

  1. 获取JSON格式的树形
  2. win10管理员已阻止你运行此应用”解决方法
  3. php实现小说字典功能_PHP实现获取并生成数据库字典的方法
  4. git 中文乱码配置
  5. 黑洞照片背后的女人:她的算法让数据“拼”成了照片
  6. 九度1377缓变序列
  7. 嘿嘿,我就不信搞不定你--Dynamo
  8. Latex学习--参考文献排版(ieee access 模板)
  9. 第二篇:傅里叶变换与短时傅里叶变换
  10. python之使用pyaudio录音和格式转化
  11. DDCTFMulTzor-xoortol的使用
  12. Spring Cloud Gateway源码解析
  13. 详解RS232、RS485、RS422、串口和握手
  14. 抓包工具 HTTP Analyzer v7.5 的下载,安装,使用,破解说明
  15. mysql更新加锁_一条简单的更新语句,MySQL是如何加锁的?
  16. 2022年中职组“网络安全”赛项湖南省任务书
  17. java 中文转码_java 下载文件中文名称转码详解
  18. 华为ac配置radius认证服务器_华为无线控制器启用802.1X认证配置
  19. 哪位老哥熟悉vue fullcalendar的,能帮忙看看为啥addEvent没效果吗
  20. 嵌入式C语言自我修养——从芯片、编译器到操作系统

热门文章

  1. 人们为什么都喜欢大屏手机
  2. Coverage官方手册翻译
  3. jeecgboot多表联合查询
  4. $(document)是什么意思
  5. 手机CPU架构体系分类及各大厂商
  6. mysql contains 无效_Mysql函数CONTAINS和GEOMFROMTEXT不起作用
  7. “金融元宇宙”应用场景研究
  8. git Please tell me who you are...解决方法
  9. android日夜间模式切换动画
  10. 基于STM32开发板实现传感数据采集-DHT11温湿度采集