学习
实践
活动
工具
TVP
写文章

当SRS遇到K8s:如何构建海量推流源

文 / 杨成立 相关文章:当SRS遇到K8s:快速构建高并发直播集群 本章描述了基于K8s,如何构建Origin Cluster支持超多推流场景。 在这个场景下,对比K8s和传统使用方式的差异: 对比 ECS K8s 说明 申请ECS 手动 自动 部署时,ECS需要手动申请,K8s自动申请 安装包 脚本 镜像 Docker方式更优,版本管理,可Cache ,更新SLB配置监听和保活等 配置 文件 Volume ECS需要手动管理配置;K8s配置在ConfigMap,通过Volume挂载为配置文件,扩容时源手动更新自动推送,边缘扩容自动更新 扩容 手动 自动 需要新开进程时,ECS需要申请部署和配置,K8s只需要修改Replicas数目即可(也可自动扩容) 发现 手动 自动 Origin变更IP时,ECS需要手动修改配置,K8s在迁移源Pod时会保持 1abb5492f7-ubq80.cn-beijing.nas.aliyuncs.com NFS版本(PV vers):3 在NAS基础上可以创建PV,以及PVC: pv-nas,从NAS存储创建的PV,支持写和

37720

最佳实践:如何扩展你的SRS并发能力?

当我们用SRS快速搭建了视频服务,业务也开始上线运行了,很快就会遇到一个问题:如何支持更多的人观看?如何支持更多的人推流? 假设我们把SRS源部署在杭州阿里云的ECS上,主播使用OBS在上海推流,观众在北京观看,如下图所示: Remark:虽然地域较远,但ECS是BGP带宽,效果其实不错的。 我们将源部署在阿里云杭州ECS上,主播从上海使用OBS推流,杭州我们需要支持4K播放,北京我们需要支持8K播放,我们就可以在杭州和北京部署SRS边缘服务器,如下图所示: Remark:播放器如何找到对应的 我们先考虑单个源服务器如何使用多进程,比如4CPU,单个SRS只能支持7K播放,我们可以扩展4倍能力到28K播放。 如果业务不按照Vhost区分,或者一个Vhost的流也非常,那么SRS提供了Origin Cluster源集群扩展源,如下图所示: Remark:两个Origin服务器之间会互相查询流,若Edge

34010
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    保护

    正确配置源ECS的安全组和SLB的白名单,可以防止黑客直接攻击您的源IP。本文介绍了源服务器保护的相关配置方法。 背景信息 说明 源保护不是必须的。 没有配置源保护不会影响正常业务转发,但可能导致攻击者在源IP暴露的情况下,绕过Web应用防火墙直接攻击您的源如何确认源泄露? 在配置源保护前,请注意以下事项: 请确保该ECS或SLB实例上的所有网站域名都已经接入Web应用防火墙。 当Web应用防火墙集群出现故障时,可能会将域名访问请求旁路回源至源,确保网站正常访问。 参照以下步骤,配置源只允许WAF回源IP进行访问。 源ECS 前往ECS 实例列表,定位到需要配置安全组的ECS实例,单击其操作列下的管理。 切换到本实例安全组页面。 网卡类型:内网 说明 如果ECS实例的网络类型为经典网络,则网卡类型需设置为公网。

    20810

    当SRS遇到K8s:快速构建高并发直播集群

    本章描述了如何基于K8s构建EdgeCluster实现高并发流媒体播放。 对于自建源,没有那么播放量,为何不建议使用SRS单源站直接提供服务,而要用EdgeCluster呢? 主要场景分析如下: 防止Origin过载,即使推流非常少而且播放的流也不多,比如自建源后使用CDN回源,在多家CDN回源时,也可能一个CDN一条流会有多个回源连接。 在这个场景下,对比K8s和传统使用方式的差异: 对比 ECS K8s 说明 申请ECS 手动 自动 部署时,ECS需要手动申请,K8s自动申请 安装包 脚本 镜像 Docker方式更优,版本管理,可Cache 看门狗 手动 自动 SRS异常退出由看门狗重新拉起,非K8s需要手动安装,K8s自动管理和拉起服务 更换ECS 手动 自动 ECS更换时,非K8s需要手动申请,修改SLB,安装服务,K8s自动迁移服务

    46210

    腾讯云海外直播系统架构是怎么设计的?

    其实海外运营商比国内很多,国内说三大巨头电信、联通、移动再加小运营商。在海外大概接近2千家运营商。 那么我们如何去完成这2千家运营商的互联呢? 基于这种目的我们采用去中心化,主播的流推到最近的源。 那么我们的状态如何实现同步? 我们挑选了集中点,把海外其他七个源同步到中国香港,然后再从中国香港东部到中国大陆,那些小的源如何去查?他们查一下中国香港就可以,这样减少了设计开发的复杂度。 我们发现这边是DNS,那边是出口信息,他出口用的很多的是谷歌的Public DNS,客户端应该支持ECS的,用户把IP带过来了,但是中途有一些dns服务器不支持ECS信息,这时候由于运营商DNS服务提供不好 其实做这么工作,海外跟国内最大的区别是如何在综合成本的控制下取得一个边际收益的最大值,这是我们目前做海外直播的设计思路也是我们的考虑点。

    95940

    胡仁成:腾讯视频云海外直播系统架构设计与最佳实践

    其实海外运营商比国内很多,国内说三大巨头电信、联通、移动再加小运营商。在海外大概接近2千家运营商。 那么我们如何去完成这2千家运营商的互联呢? 我们挑选了集中点,把海外其他七个源同步到中国香港,然后再从中国香港东部到大陆,那些小的源如何去查?他们查一下中国香港就可以,这样减少了设计开发的复杂度。 在双十一、双十二期间拉流服务超过2千万次,带宽500G峰值带宽。这也是基于服务和保障能力。 我们发现这边是DNS,那边是出口信息,他出口用的很多的是谷歌的Public DNS,客户端应该支持ECS的,用户把IP带过来了,但是中途有一些dns服务器不支持ECS信息,这时候由于运营商DNS服务提供不好 其实做这么工作,海外跟国内最大的区别是如何在综合成本的控制下取得一个边际收益的最大值,这是我们目前做海外直播的设计思路也是我们的考虑点。

    1K50

    高并发口罩抢购项目架构演进记录&优化经验分享

    2月2号晚上22点左右的原始架构 客户端走 HTTPS 协议直接访问 ECSECS 上使用 Nginx 监听 HTTPS 443 端口; Nginx 反代 Tomcat,Nginx 处理静态文件,Tomcat 架构图&分析-V2 随后我方介入,进行架构调整,24点左右找的我们,早上9点要开服,时间太紧,任务太重,程序不能动的情况下,几十万的并发架构如何做? 这样架构设计: 优点:CDN 负担静态资源的流量降低了 SLB 的出带宽,压测的效果也非常理想; 缺点:需要一个独立的域名在页面里面,涉及跨域,4 号临开服之际测试发现入库&预约短信乱码返回,紧急切换回了老程序 总结 时间紧任务重,遇到了N的坑: vcpu 购买额度; SLB 后端挂载额度; 客户余额不足欠费停机; 域名服务商解析需要联系客服才能添加; 第一次考虑 CDN 架构的时候未考虑跨域问题; 新程序开发期间未连接主库测试 net.core.somaxconn = 128 --> 4096 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_timestamps = 1(5和6同时开启可能会导致nat上网环境联概率失败

    38040

    ECS和轻量应用服务器的区别

    轻量应用服务器是面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理、应用部署、安全和运维管理的一式综合服务。 站在新手视角肯定是 轻量应用服务器 更简洁更舒服,站在我的角度么,我配置好服务器基本上很少会来看一下 ECS 的控制台,但一回来肯定是需要一些信息的,那么 ECS 能告诉我越多肯定越好。 ECS 能就只有空白的系统镜像,任何环境都是需要用户自行安装的,这在一定程度上增加了用户使用的学习成本。而 ECS 更多体现的就是专业性了,虽然复杂但是十分强大的安全组、弹性IP、均衡负载等等。 三大金刚的版本问题 Apache Httpd、PHP、MySQL 是会持续更新的,而且它们也均有爆发过大规模严重漏洞的历史,不过目前还没有看到应用镜像中的三大金刚如何升级版本号的姿势。 WordPress 这样的程序完全可以适应高版本的 PHP,使用 PHP7.0 或者 7.1 可以拥有更高的性能还可以降低负载,但是默认只有 php5.6 可以选,既然使用 php-fpm 方式驱动其实完全可以提供版本

    62872

    如何保证2点或站点在负载均衡下站点内容保持一致呢?

    现实环境中,随着业务量的不断增加,web 服务器也有之前的一台变成了多台,但是问题是,在负载均衡下,不可能再次搭建一个站点,这样当用户访问的时候其站点内容绝对不是一致的,如何操作呢? 如何去配置参照此连接。 1.2 新机器创建好了之后,不要上传任何站点文件。 因为WEB 1点配置好的所有信息均写进了discuz站点目录中的install文件夹,里面包含了数据库的配置和连接信息!! 然后再次在负载均衡server内增加real server添加新机器即可!

    86040

    模态到泛化性,无监督学习如何成为人工智能的下一

    Yann LeCun提出,无监督学习是人工智能的下一。 2020年,图灵奖得主Geoffrey E. 2020年8月22日,中国计算机学会青年计算机科技论坛深圳分论坛主办大湾区IT创新论坛“无监督学习,如何成为人工智能的下一?”。 ? 本次论坛吸引了超过1千人通过线下会场、腾讯会议及B全程参与,包括涉及表达学习、自然语言处理、计算机视觉分析、数据挖掘、金融大数据处理等众多相关领域的青年学者、相关行业从业者及在读学生,共同思辨无监督学习技术如何真的能成为人工智能的下一 无监督预训练模型的学习偏见如何解决? 使用无监督预训练模型的最主要领域是CV和NLP,在CV和NLP领域里面,哪些细分领域更可能从无监督预训练模型中受益呢?以及无监督预训练模型的学习偏见如何解决? 2 模态场景 议题二:无监督学习技术如何促进模态场景下不同领域之间知识的交互以提升性能? 真实的数据不只涉及文本,还有语音、视频等等,在这种模态场景下,我们会思考无监督学习技术的应用。

    74640

    数栈技术分享:OTS数据迁移——我们不生产数据,我们是大数据的搬运工

    数栈是云原生—式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据 表有行和列的概念,但是与传统数据库不一样,表格存储的表是稀疏的 每一行可以有不同的列,可以动态增加或者减少属性列,表时不需要为表的属性列定义严格的 schema。 2) 执行datax任务 登录datax所在ECS后,进入datax所在路径 在对应的工具机分别执行pre_transfer.sh脚本,即可开始专有域OTS到专有云OTS的数据迁移,具体命令如下: sh 所以采用在hive创建OTS外部表的方式,读取OTS数据并计算对应数据表的行数,具体操作如下: 创建外部表 启动hive,创建上述数据表对应的外部表;为提高统计效率,外部表可以只读取OTS的主键列,表语句示例如下 若采用hive统计行数会耗时太久,所以对于这个表使用datax将OTS数据导入oss的方式进行内容统计,具体操作如下: 进入脚本所在路径 登录上述表格对应的ECS,进入datax所在路径; 执行内容校验

    42940

    TVP走进B:探索互联网黑天鹅背后的高可用之墙

    企业技术管理者又该如何居安思危,调整技术架构?9月25日,腾讯云 TVP 走进 B ,畅聊「高可用 VS 黑天鹅」的那些事儿,相信能给你一些不一样的启发。本文为本次活动精华总结。 沈淦老师将以上所体现的理念总结为了“找价值、设指标、拆流程、团队”的端到端流程四步法。 常见影响 DNS 调度的因素有 locallands 多出口、locallands 不支持 ECS、NS 不支持 ECS、NS 的 IP 库不准确等,由此带来的技术目标是需要能够保证大部分流量调度的准确性 目前众多的冷备、热备、双活、活、同城、异地、多云等灾备方案中,如何更好的选择贴合自身要求的高可用和容灾架构方案?刘意:多云活的方案中,bilibili 和喜马拉雅都选择了混合云的模式。 TVP 们走进的是 B ,走出来的却是更多高可用技术背后的思考与实践。

    30740

    404星链计划 | 大动作!好多优秀新项目都来加入我们了~

    实例上执行个命令,但有了 CF 可以做更多,比如一键下载 OSS 所有资源、一键获取所有 ECS 实例上的临时访问凭证从而进行下一步的云上内网横向、一键为所有 ECS 实例执行三要素命令从而方便 HW CF 它还能做更多,比如一键列出当前 AK 下的云服务资源(目前已支持OSS、ECS、RDS)、一键创建后门管理员用户从而接管控制台、一键为 ECS 实例反弹 Shell 等等,使用 CF 可以让你的云上渗透效率提升到新的高度 项目链接 https://github.com/UzJu/Cloud-Bucket-Leak-Detection-Tools 项目简介 云原生安全近几年比较火,存储桶在企业(SRC众测)中暴露的问题也非常, 关注我们B(知道创宇404实验室),第一时间获取演示视频~ 第一期演示项目:KunLun-M 项目作者:LoRexxar 项目地址:https://github.com/LoRexxar/Kunlun-M 参与条件: 1.开奖前转发本文至朋友圈,不屏蔽不分组 2.关注B(B中搜索用户:知道创宇404实验室) 注意:中奖者于48小时之内在抽奖后台填写收货信息,并附带转发和关注的截图,不满足要求或逾期者均视为弃奖

    11120

    《黑暗之潮》中次时代技术的应用经验及技术

    B演讲视频见:https://www.bilibili.com/video/BV1ca4y1W7wN 《黑暗之潮》是一款顶视角的次世代手游,虽然锁了视角,但实际对画质和战斗细节的要求很高。 2.4 如何定制URP的内置管线 使用RenderObject。通过URP以及实现好的RenderFeature和RenderPass,可以在不用任何代码的情况下进行定制。 但有三个问题,一是必须是静态物体,二是场景内存的占用会提高非常,三是无法进行LOD剔除了。 GPU Instancing。 在采用PBR流程之后,这个创建过程就会麻烦非常,首先贴图多了很多张,跟各式各样的PBR的设置,是非常繁杂的。尤其是ECS的单位,我们还需要对这个动画进行烘焙。 以前需要手动,现在可以一键自动。 ? 场景导出。

    98920

    处理网络超时问题的最佳实践

    在本文里就分析下如何来分辨和排查这类问题的根本原因。 业务超时 ! 对丢包产生的延迟主要有如下两类: TCP连超时。 如果网络抖动不幸丢掉了TCP的第一个连SYN报文,对与不太老的内核版本来说,客户端会在1秒(Draft RFC 2988bis-02中定义)后重传SYN报文再次发起连。 ECS内网访问自建Redis超时的例子 ECS访问云服务RDS/Cache或者自建数据库/Cache超时是另外一类问题,下面用一个ECS内网访问字节Redis超时来说明这类问题。 客户端利用长连接访问服务器端,在结束连接之前已经包了非常的Redis请求和响应。 181073 号包是服务器端FIN掉了连接,181078号包客户端接着发了TCP Reset。

    1.5K30

    如何防止CDN防护被绕过

    我们来看一个比较常见的基于公有云的高可用架构,即: 域名-->CDN,CDN-->WAF,WAF-->SLB,SLB-->ECS。 ? 我们重点来关注一下CDN-->WAF-->SLB-->ECS这几层服务之间的关系吧。 假设,攻击者知道SLB的真实IP地址,就可以直接访问SLB的ip地址,从而轻易绕过CDN+WAF的安全防护。 如何防止CDN被绕过呢? 这里分享一个CDN防护技巧,通过中间件配置只允许域名访问,禁止ip访问。 这样处理的话,所有直接访问站点真实IP的请求将会被拒绝,任何用户只能通过域名访问站点,通过预先设定的网络链路,从DNS→CDN→waf防护→源,所有的域名访问请求都必须经过WAF检测。

    70550

    Linux服务器故障排查基本方案

    >云服务器ECS+数据库RDS+缓存Redis 4.域名--->CDN--->负载均衡--->云服务器ECS+数据库RDS(主从)+缓存Redis 5.域名--->CDN-->WAF防火墙--->负载均衡 --->云服务器ECS+数据库RDS(主从)+缓存Redis 再根据实际情况出现的问题,一步步排查。 aliyun] 4.其他同事 客服、市场同事等钉钉、电话报告出现的问题 二、快速定位问题 网络带宽(CDN是否异常) 域名是否解析到源 登录XXX云CDN后台查看相应流量 负载均衡 检查负载均衡是否正常运行 ,是否流量异常 应用层服务器 ECS服务器负载是否正常、cpu、内存负载是否过高,硬盘使用率是否达到100%等 缓存服务器 redis服务器负载是否正常、内存使用率如何 数据库服务器 数据库连接数是否正常 判断的数据库 1.慢查询 检查慢查询日志,可能是慢查询引起负载高,根据配置文件查看存放位置:log_slow_queries 2.是否有系统瓶颈 升级系统cpu、内存、硬盘, 优化架构增加主从,一主从等

    11710

    Unity手游实战:从0开始SLG——ECS战斗(一)ECS设计思想

    ECS插件, jobs System burst编译器等技术内容,来打造一个DOTS的开发理念。 所以扯了这么ECS究竟是什么? 现在知道如何标识Entity,那么接下来如何创建呢?如下: ? 代码展示了,创建100个对象,前面50个是狗,后面50个是猪,并且他们都有尾巴。 (这里的System肯定不是用到一次New一个,只是方便展示) ECS的优势 经过上面两个示例来看,ECS在写法上面要比传统OOP的方式复杂很多,明明一个对象就可以集中包含的数据要写这么的Componet 是的,所以这就是ECS的魅力所在,它让设计分离了。 想象一下你是一个重度的游戏,里面有一个Player对象,对象有非常非常的数据和逻辑,有很多人的工作都和这个对象有牵连。 所以仅仅是写了一些代码,带来了这么的优势,为什么不去用呢?

    1.4K20

    扫码关注腾讯云开发者

    领取腾讯云代金券