再强的代码,没有足够的硬件***支撑,面对大流量总有崩溃的时候!这个就牵扯到系统架构了!
当然只说到软件方面,一般大型项目或者大厂不会单纯的应用一种语言,因为有些服务可能需要用到其他语言写更加稳定,性能更到的工具,只能说是主语言是哪个。
之前确实B站代码泄露,从代码看主语言是go语言!
但是,也达到了全年可用时间三个9左右。即全年会挂52分钟不可访问。
小破站目前来看的确是比较传统的建站技术。严重依赖外界购买的cdn厂商服务。核心技术能力在编解码播放器弹幕方面。
稳定性来看,流量都在cdn上,cdn运营商提供服务,和他主站就解耦了。但是前几天仍然发生主站当机,导致cdn回源主站失败的情况。
B站后台应该也是golang和j***a混搭的,目前B站不是在逐渐去除j***a嘛,还有就是B站后台稳不稳定跟用什么搭建没有呀直接关系,与一个系统的架构设计,熔断降级等配置有关系,是否有完善的监控系统,有强大的运维团队,有高质量的代码等因素有关系
再退一步说,B站部分功能不可用的时候,除了核心接口外,其他的你也很难感知,所以你很难从外部角度来说B站的可用性
谢谢邀请!
从之前B站泄露出来的代码看,目前B站后台的核心技术栈是Go语言。至于为什么用Go语言后面会说到,事实上B站流量在行业内并不是顶尖,就算是用Go语言作为核心技术栈的网站中,B站也不是技术难度最高的。不过同样值得关注的是,B站对于UP主的保护是全行业最佳,刚刚B站也签下了冯提莫,不断大动作的B站未来发展可期。
比B站技术难度大的网站太多了
放眼全球,比B站技术难度高的网站简直是太多了,相对于这些巨无霸企业,B站本质上依然是一个小众网站,即使在***网站,B站的技术难度也不是最高。
全球***网站领域,YouTube月活超过了18亿、日活超过了15.3亿,Pornhub日活用户也达到了8000万。国内***网站,爱奇艺的月活达到了5.38亿,腾讯***月活达到了5.33亿,B站月活跃用户仅仅只有9200万,这中间的差距太大了,很明显不是一个数量级的产品。
这还是***网站,不考虑***网站,太多的网站技术难度都要比B站要高,国内天猫双十一、春晚红包、以及12306火车票购票网站、微信11亿活跃用户的流量冲击、滴滴打车和美团外卖的瞬时流量冲击,这些网站的技术难度都要远远高于B站。
回过头来看以Go语言为核心技术栈的企业,国内字节跳动后端就是以Go语言作为核心技术栈,两款龙头产品今日头条、抖音的活跃用户体量,以及并发量级同样都是B站所无法相提并论的,因此B站的技术难度并不是行业最高。
B站为什么用Go语言代替J***a重构整个核心业务
B站早期的技术选型极其混乱,当然这也是很多企业发展的一个必然过程,阿里巴巴、京东都经历过技术转型,毕竟不是每家企业都像Google、百度、腾讯一样一开始就以C/C ++为核心技术栈的互联网企业,能够避免出现技术瓶颈的问题。
B站早期是PHP为核心技术栈,毕竟对于一家创业公司来说,PHP往往是最快速、也是最便宜的解决方案,PHP也非常适合用来做业务和快速开发。慢慢地、B站中台逐渐被Node取代,为了让后台能够更好的支持高并发、运行更加稳定,也方便进行大数据分析,B站逐渐将后台的核心技术栈转向J***a语言,这时候就开始混乱了。
在B站高速发展的时候,故障非常多,用户规模上来、业务复杂程度上来之后,问题就变得越来越严重,代码混乱、架构也不合理,随着业务的不断发展,维护成本越高、维护难度也越大,最终还是到了很难维护的地步,这时候重构就变得非常重要了,重构除了架构上的改变,那就是要选择一门新的语言作为核心技术栈。
B站的研发总监毛剑一直以来的工作经历都是Go语言,他也带着自己的Go团队加入了B站,而Go语言生态还是不错的,Google作为Go语言的创造者,有大企业背书,Go语言支持Kafka、canel、hbase等众多框架,Go语言调用效率比***还要高,能够轻松地搞定较大的并发压力和瞬时流量冲击,Go语言还跟Docker契合得非常好,似乎选择Go语言已经顺理成章了。
因此最终B站选择了Go语言重构整个B站核心技术栈,一方面是因为业务需求,一方面是因为Go语言本身的技术优势,当然一方面也因为B站技术负责人的技术背景。目前B站已经成为仅次于爱奇艺、腾讯***、优酷、芒果TV之后第五大***网站,是原创高质量UGC领域的第一大***网站,也是国内最大的弹幕***网站和二次元***网站,日前B站还签下了第一直播网红冯提莫,未来B站发展可期。
本文为作者EmacserVimer悟空问答原创文章,未经允许转载、抄袭必究!
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnrbw.com/post/27523.html
上一篇
核心训练理念是什么
下一篇
核心锤训练,核心怎么练?