草庐IT

B站接入层网络演进实践

01网络设计背景1.1稳定性和扩展性 在设计任何网络结构时,网络的稳定性和扩展性是两个必然要考虑的因素。丢包、拥塞、扩容三大标准决定了网络质量的上限和下限。任何程度的网络质量波动都会对点直播视频业务的生产和消费造成最为直接的影响。基于B站始终把用户体验放在第一位的前提下,在设计网络前必须对网络的流量模型,业务对网络的要求做出充分调研。继而从设备选型、网络规划、技术应用、协议设计、生态演进等多维度做出最贴合当下B站客户需求的网络方案并落地实施。1.2带宽和流量模式随着视频化时代到来,承载业务的数据中心其规模也与日俱增,新增的数据中心所包含的服务器容量从几千台迅速攀升至数万台。传统的树形网络结构中

S11总决赛那晚,B站SRE为活动保障都做了些啥?

一、背景B站每年都会有多次大型活动,如拜年纪、最美的夜、LOL全球总决赛、电商626、919秒杀等其他活动。其中最美的夜和LOL全球总决赛是在线流量最高的活动。在S11总决赛过程中,全站整体平稳运行,无基础设施、组件故障和服务核心链稳定性故障,抗住了远超预期的在线人数和流量,直播同时在线人数突破千万。一场成功的活动保障离不开多个团队的共同付出和努力。SRE在背后是如何支持保障这些活动并不断完善我们的活动保障体系的呢?接下来就为大家揭晓。二、活动场景案例1在SRE的某次活动保障中,突然听到运营同学说某某时刻微信、头条等APP会上线活动的推广链接。考虑到微信和头条APP的用户量级,SRE担心新用户

S11总决赛那晚,B站SRE为活动保障都做了些啥?

一、背景B站每年都会有多次大型活动,如拜年纪、最美的夜、LOL全球总决赛、电商626、919秒杀等其他活动。其中最美的夜和LOL全球总决赛是在线流量最高的活动。在S11总决赛过程中,全站整体平稳运行,无基础设施、组件故障和服务核心链稳定性故障,抗住了远超预期的在线人数和流量,直播同时在线人数突破千万。一场成功的活动保障离不开多个团队的共同付出和努力。SRE在背后是如何支持保障这些活动并不断完善我们的活动保障体系的呢?接下来就为大家揭晓。二、活动场景案例1在SRE的某次活动保障中,突然听到运营同学说某某时刻微信、头条等APP会上线活动的推广链接。考虑到微信和头条APP的用户量级,SRE担心新用户

B站基于缓存优化 PRESTO 集群查询性能

一、集群架构1、B站SQLOnHadoop下图为B站Presto集群的架构图,最上层是内部的一些数据服务,所有服务统一接入Dispatcher。Dispatcher是一套内部自研的服务,根据查询HDFS的数据量、目前引擎的负载情况等将用户提交的query路由到相应的引擎进行执行。对于presto的查询语法和hive/spark语法可能出现的不兼容问题,我们引进了Linkedin的开源软件Coral,将hive和spark的语法转换为presto的语法进行执行。计算引擎的路由逻辑:对于查询量比较小的sql,会优先路由到presto进行执行,如果失败则降级到spark进行执行,再失败则降级到hiv

B站基于缓存优化 PRESTO 集群查询性能

一、集群架构1、B站SQLOnHadoop下图为B站Presto集群的架构图,最上层是内部的一些数据服务,所有服务统一接入Dispatcher。Dispatcher是一套内部自研的服务,根据查询HDFS的数据量、目前引擎的负载情况等将用户提交的query路由到相应的引擎进行执行。对于presto的查询语法和hive/spark语法可能出现的不兼容问题,我们引进了Linkedin的开源软件Coral,将hive和spark的语法转换为presto的语法进行执行。计算引擎的路由逻辑:对于查询量比较小的sql,会优先路由到presto进行执行,如果失败则降级到spark进行执行,再失败则降级到hiv

【可视化分析案例】用python分析B站Top100排行榜数据

一、数据源之前,我分享过一期爬虫,用python爬取Top100排行榜:最终数据结果,是这样的:TOP100数据在此数据基础上,做python可视化分析。二、数据读取首先,读取数据源:#读取csv数据df=pd.read_csv(csv)三、数据概览用shape查看数据形状:#查看数据形状df.shape用head查看前n行:#查看前5行df.head(5)用info查看列信息:#查看列信息df.info()用describe查看统计性分析:#描述性统计分析df.describe()描述性统计四、数据清洗查看是否存在空值:#查看空值df.isna().any()查看空值每列都是False,没有

【可视化分析案例】用python分析B站Top100排行榜数据

一、数据源之前,我分享过一期爬虫,用python爬取Top100排行榜:最终数据结果,是这样的:TOP100数据在此数据基础上,做python可视化分析。二、数据读取首先,读取数据源:#读取csv数据df=pd.read_csv(csv)三、数据概览用shape查看数据形状:#查看数据形状df.shape用head查看前n行:#查看前5行df.head(5)用info查看列信息:#查看列信息df.info()用describe查看统计性分析:#描述性统计分析df.describe()描述性统计四、数据清洗查看是否存在空值:#查看空值df.isna().any()查看空值每列都是False,没有