您好!欢迎来到一线生活-深圳论坛
关注我们
扫码关注官方微信
手机版
手机扫描直接访问

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

0
回复
172
查看
[复制链接]

8775

主题

1万

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
29643
发表于 2022-10-14 08:52:20 | 显示全部楼层 |阅读模式
从一位曾经在哔哩哔哩任职的开发人员那里,了解了一下B站的技术发展历程:最开始是用PHP语言开发的,后来B站的中台逐步被Node占领,而后台技术为了更高的并发、更稳健,以及为了大数据分析,逐步向JAVA靠拢,这便导致了哔哩哔哩的技术整体较为混乱。

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

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

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

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



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

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

为什么是Go?

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



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

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

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

p.s. 如果你是golang初学者,下图的资料可以下载看看。点击小编头像,关注之后私信回复“资料”即可获取。



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



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

公司有自己的Go语言团队

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

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

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们

免费联系电话

400-8855-271

客服QQ:2524604571

服务时间:周一到周日8:00-23:30

关注我们
  • 关注官方微信

  • 手机APP