本文作者:ptiyny

go语言直播编程教程 golang开发直播系统

ptiyny 21分钟前 2
go语言直播编程教程 golang开发直播系统摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于go语言直播编程教程的问题,于是小编就整理了1个相关介绍go语言直播编程教程的解答,让我们一起看看吧。B站后台用什么搭建的,B站...

大家好,今天小关注到一个比较有意思的话题,就是关于go语直播编程教程的问题,于是小编就整了1个相关介绍go语言直播编教程的解答,让我们一起看看吧。

go语言直播编程教程 golang开发直播系统
(图片来源网络,侵删)

B站后台用什么搭建的,B站用什么开发的,这么大的流量居然那么稳定?

谢谢邀请!

从之前B站泄露出来的代码看,目前B站后台的核心技术栈是Go语言。至于为什么用Go语言后面会说到,事实上B站流量在行业内并不是顶尖,就算是用Go语言作为核心技术栈的网站中,B站也不是技术难度最高的。不过同样值得关注的是,B站对于UP主的保护是全行业最佳,刚刚B站也签下了冯提莫,不断大动作的B站未来发展可期。

<strong>比B站技术难度大的网站太多了

放眼全球,比B站技术难度高的网站简直是太多了,相对于这些巨无霸企业,B站本质上依然是一个小众网站,即使在***网站,B站的技术难度也不是最高。

全球***网站领域,YouTube月活超过了18亿、日活超过了15.3亿,Pornhub日活用户也达到了8000万。国内***网站,爱奇艺的月活达到了5.38亿,腾讯***月活达到了5.33亿,B站月活跃用户仅仅只有9200万,这中间的差距太大了,很明显不是一个数量级的产品。

go语言直播编程教程 golang开发直播系统
(图片来源网络,侵删)

这还是***网站,不考虑***网站,太多的网站技术难度都要比B站要高,国内天猫双十一、春晚红包、以及12306火车票购票网站、微信11亿活跃用户的流量冲击、滴滴打车和美团外卖的瞬时流量冲击,这些网站的技术难度都要远远高于B站。

回过头来看以Go语言为核心技术栈的企业,国内字节跳动后端就是以Go语言作为核心技术栈,两款龙头产品今日头条、抖音的活跃用户体量,以及并发量级同样都是B站所无法相提并论的,因此B站的技术难度并不是行业最高。

B站为什么用Go语言代替J***a重构整个核心业务

B站早期的技术选型极其混乱,当然这也是很多企业发展的一个必然过程,阿里巴巴、京东都经历过技术转型,毕竟不是每家企业都像Google、百度、腾讯一样一开始就以C/C ++为核心技术栈的互联网企业,能够避免出现技术瓶颈的问题。

go语言直播编程教程 golang开发直播系统
(图片来源网络,侵删)

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悟空问答原创文章,未经允许转载、抄袭必究!

一个项目稳定,绝对不光是开发代码的功劳,这个需要软硬结合!

再强的代码,没有足够的硬件***支撑,面对大流量总有崩溃的时候!这个就牵扯到系统架构了!

当然只说到软件方面,一般大型项目或者大厂不会单纯的应用一种语言,因为有些服务可能需要用到其他语言写更加稳定,性能更到的工具,只能说是主语言是哪个。

之前确实B站代码泄露,从代码看主语言是go语言!

B站后台应该也是golang和j***a混搭的,目前B站不是在逐渐去除j***a嘛,还有就是B站后台稳不稳定跟用什么搭建没有呀直接关系,与一个系统的架构设计,熔断降级等配置有关系,是否有完善的监控系统,有强大的运维团队,有高质量的代码等因素有关系

再退一步说,B站部分功能不可用的时候,除了核心接口外,其他的你也很难感知,所以你很难从外部角度来说B站的可用性

b站谈不到稳定,属于一般水平。

但是,也达到了全年可用时间三个9左右。即全年会挂52分不可访问。

小破站目前来看的确是比较传统的建站技术。严重依赖外界购买的cdn厂商服务。核心技术能力在编解码播放器弹幕方面。

需要cdn的部分,包括静态web文件,图片***,直播推流。

稳定性来看,流量都在cdn上,cdn运营商提供服务,和他主站就解耦了。但是前几天仍然发生主站当机,导致cdn回源主站失败的情况。

到此,以上就是小编对于go语言直播编程教程的问题就介绍到这了,希望介绍关于go语言直播编程教程的1点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享