为了账号安全,请及时绑定邮箱和手机立即绑定

如何看待哔哩哔哩用go语言重写所有的java后台工程?

港真,不就是注册个正式会员,要不要这么吓人T_T




另外,这样答题真的有错吗?





还有,你让一个只知道JAVA、C++、前端后端的正经程序员怎么选啊喂?




咳咳,回到正题,我们还是分析后台吧。从一位曾经在哔哩哔哩任职的开发人员那里,了解了一下B站的技术发展历程:最开始是用PHP语言开发的,后来B站的中台逐步被Node占领,而后台技术为了更高的并发、更稳健,以及为了大数据分析,逐步向JAVA靠拢,这便导致了哔哩哔哩的技术整体较为混乱。


生活经验告诉我们,房间需要定期进行整理,如果长时间不打理会变得杂乱无章,同样的,作为一个有着巨大用户量并且正在发展中的视频网站来说,定期清理杂乱无章的技术栈,为用户提供更稳定的服务、更优质的使用体验显然是非常有必要的。否则当视频正看到关键时刻,一记黑屏大法便足以败了你所有的兴致。


并非重写全部的后台工程,而仅仅是与账号相关的业务


根据毛剑的回答,目前哔哩哔哩使用Go语言重构JAVA后台应该已经是板上钉钉的事了,但他们并非是要重写所有的后台,因为就大数据分析方向来说,还是JAVA的天下,重构的部分仅仅是账号有关的业务。


其实很多程序员都有自己热衷的语言以及程序设计偏好,甚至有技术洁癖的程序员,在代码能正常运行的情况下,是不会允许任何人碰自己的代码的,老子的代码天下无敌!



电视剧《硅谷》视频截图,程序员的谜之自信



但是,前提是代码能正常运行,而哔哩哔哩的后台,正如其研发总监毛剑所说的那样:B站早期几乎天天故障,随着团队和业务扩大,各方面的压力都增加,处处冒火。这样的状态与其像补衣服那样不停地打补丁,新补丁盖旧补丁,缝缝补补又三年,着实不如重写来得干脆。至于统一到什么语言其实都是无可厚非的,不管黑猫白猫,能捉到耗子就是好猫。


为什么是Go?


归根到底,这次重写后台工程是哔哩哔哩统一技术栈的一次尝试,至于最后为啥选择了Go,很重要的一点在于Go能够满足哔哩哔哩平台重构优化的需求;另一点是其研发总监毛剑本身是一位Go语言的忠实布道者。如果被问急了,毛剑团队会不会来一句:为什么不能是Go?





前面说过了,选择哪种语言都无可厚非,因此这里不针对Go与JAVA两种语言做孰优孰劣的评判。就事论事,我们站在哔哩哔哩的角度,来说说做此选择的优势所在。


  • Go语言本身具有其语言亮点


最近几年,Go语言开始走向火爆,国内外很多公司都已经将Go语言应用到公司核心业务系统中。比如Google、AWS和MonGoDB等国外巨头,以及像阿里云CDN、华为、饿了么、七牛等国内公司也都在积极拥抱Go语言。


JAVA目前仍是企业级开发中的主流选择,如果说JAVA是武林名门,历史悠久、沉稳持重,那么Go就是一个新开山立派的年轻一代,更有冲劲和活力:它没有继承的OO,在很大程度上解决了编译速度慢的痛点,它的强一致类型,破解了程序难维护、文档可读性差等难题,有效缩短了更新所需要的时长,让交叉编译变得更加简单。总之,Go的主要特色让它受到了更多程序员的关注。





另外,Go内置的net/http包基本上把我们平常用到的网络功能都实现了,这些特性对于网络视频平台哔哩哔哩来讲,解决其当前所面临的问题是绰绰有余的。


  • 公司有自己的Go语言团队


哔哩哔哩的研发总监毛剑,此前的工作经历均以Go为主,同时他也带了自己的Go团队共同加入,在这样的背景下,相对于JAVA,选择用Go来重构后台显然能够起到事半功倍的效果。


其实,这件事对于毛剑的技术团队来说,用自己擅长的语言做自己应该做的事儿,说破大天儿去,也无可非议。不管是JAVA还是Go,公司最看重的不是编程语言,而是最终所呈现的系统,语言只不过是工具而已;对于用户而言,只要有完美的体验,后台用什么语言不重要。所以,在相对统一的情况下,让各种语言发挥它们最大的优势,为产品的稳健运行提供更好的保障,应该是最明智的选择。


综上,这次哔哩哔哩采用Go语言来重写后台JAVA工程,有行业发展的必然性,也有场景、功能实现的需求性,还有技术负责人根据现实情形做出选择的主观判断性。随着行业的不断发展,各种新兴语言不断出现,一个项目中多种语言并存、互补的现象是必然的,说不定哪一天你还会发现用Go写的后台被其他语言改写了,或者某种你以为已经成为历史的语言卷土重来也不是没有可能。




哼!虽然答不上你的考试题,后台还是可以八一八的~



B站“你会找程序员做男 女朋友吗?”视频截图。这个弹幕我只看到了前半句('')ノ



推荐阅读:

史上最全Go语言知识图谱 (Go Knowledge Graph)

为什么 Java 总被黑?


点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
168.3万
获赞与收藏
4.8万

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消