华人澳洲中文论坛

热图推荐

    爱奇艺CDN巡检零碎技术解析

    [复制链接]

    2022-11-15 15:32:37 28 0

    导读
    CDN的全称是Content Delivery Network,即内容散发网络,是一种散布式网络零碎。CDN依托部署在各地的边沿办事器,经过核心平台的负载平衡、内容散发、调度等功用模块,使用户就近获得所需内容,升高网络拥塞,进步用户拜候响应速度和命中率。爱奇艺作为中国高质量的视频文娱办事提供者,努力于让人们对等、便捷地获取更多、更好的视频,CDN的不乱运转是保障用户获取丰硕、高清、流利视频体验与办事的基石,其首要性显而易见。
    爱奇艺CDN采取混合云架构,包罗自建CDN和商业CDN数万台CDN办事器,为月活超过5亿用户提供办事。混合云架构能够晋升资源利用率、升高本钱,但同时也带来了软件与办事变卦办理和CDN办事品质监控的难题。
    软件与办事变卦能够被称之为运维畛域的“阿克琉斯之踵”,稍有失慎就像关上了“潘多拉魔盒”,爱奇艺自建CDN和商业CDN都在软件降级与配置变卦、机房割接、办事器毛病下线再从新上线后泛起过配置不一致、文件不残缺等问题致使用户报障,这是影响爱奇艺CDN办事不乱性的首要问题。在此同时,商业CDN还泛起过劫持率较高、非本省掩盖,定向流量出网的状况。更严厉的是,以上得多异样都是用户报障后才被剖析出来,咱们很主动,用户体验也欠好。
    所以,为了随时掌握全网数万台CDN办事器的办事状况,同时要包管在CDN办事器在进行软件与办事变卦落后行上线以前就发现问题,咱们设计和完成了CDN巡检零碎。
    零碎总体架构
    爱奇艺巡检零碎目前反对自建和商业CDN的全量IP功用巡检、定向调度巡检、掩盖率与劫持状况巡检,其中:
    功用巡检:验证相干视频文件是不是知足奇艺CDN功用需要,验证其线上配置是不是知足规范化。
    定向流量巡检:验证提供办事的CDN办事器是不是属于定向地址库,提供的定向流量办事是不是正常。
    掩盖率与劫持巡检:验证提供办事的CDN办事器是不是由本省办事器提供办事,是不是存在劫持状况。
    爱奇艺CDN巡检零碎次要包罗三个子零碎,如图一为零碎架构图:


    图一 零碎架构图
    1.巡检工作生成零碎:担任数万台CDN办事器的巡检用例的定制化生成,反对人工定制或者按时触发巡检。
    2.核心处置零碎:爱奇艺CDN巡检零碎中心,担任将定制后的巡检工作拆分,经过配置与工作散发零碎、CMDB将巡检工作派发到边沿拨测零碎,同时还要处置边沿拨测零碎前往的拨测后果,进行剖析计算。
    3.边沿拨测零碎:担任自建CDN和商业CDN的拨测,并将拨测后果反馈给巡检工作核心处置零碎,掩盖挪动、联通、电信、广电、方正宽带等多家经营商,20多个省分,包罗800多个探测点。
    巡检工作生成零碎
    巡检工作生成零碎如图二所示,次要由三部份组成:
    图二 巡检工作生成零碎
    1.巡检用例筛选器:巡检用例筛选器从线上筛选掩盖各端拜候的一切类型的视频格局文件,对筛选出的文件添加巡检标识符,生成巡检文件列表,作为巡检用例生成器的输出,同时经过智能散发零碎将巡检文件散发到CDN存储。
    2.实时IP库:由各家CDN实时IP接口汇聚而成,作为巡检用例生成器的输出,用于全量IP巡检用例的生成。
    3.巡检用例生成器:结合巡检文件列表与实时IP库,对文件添加相应鉴权参数与IP交换,将其“加工”成不同的CDN巡检用例,写入redis,供核心处置零碎随时调用途理。
    技术应战
    目前爱奇艺使用了多家CDN资源,办事器高达数万台,带来了两个应战:
    1.包管CDN办事IP实时、精确
    实时性:咱们的做法是要求每家CDN前往的API接口实时静态更新,粒度为5分钟,添加时间戳进行校验。
    精确性:结合爱奇艺及多个第三方厂商的IP地址库等地址库对每一个个IP进行办事区域和经营商辨认,将其归类写入MySQL,用于比对校验。关于IP总数小于500的厂商,比对时发现差别超过其IP总数的5%进行报警,关于IP总数大于500的厂商,咱们将差别扩张到10%,当报警产生时,及时与商业CDN沟通是不是产生了毛病和流量调剂。
    2.包管极低的巡检用例生成过错率:每家商业CDN都有不同的拜候标准和要求,需求兼容域名和IP等多维度的URL生成逻辑,根底巡检文件个数100+,“定制”化的巡检用例高达数百万,巡检用例生成器需求包管生成用例过错率小于0.001%。
    核心处置零碎
    作为巡检零碎的“大脑”,核心处置零碎需求数据处置核心、CMDB、配置与工作散发零碎、智能调度零碎的合作与配合,如图三所示,实现繁杂的巡检测试工作,其中:
    图三 核心处置零碎
    数据处置核心:数据处置核心将巡检工作生成零碎发生的巡检工作用例拆分,结合散布式动静处置框架celery,反对上百万QPS的巡检用例拆分,秒级将巡检工作发送给配置与工作散发零碎。数据处置核心使用ZeroMQ采集边沿拨测零碎的拨测后果,经过相干剖析计算,将巡检后果实时送达到业务大屏、生成巡检日报和巡检测试讲演,与智能调度零碎联动。
    配置与工作散发零碎: 因为在CDN 繁杂网络环境下进行软件部署、配置同步、运用形态办理是十分繁杂的,开源的ansible、puppet等工具已无奈知足疾速迭代、继续交付的需要,爱奇艺零碎网络团队自研的配置与工作散发零碎目前反对数万台办事器配置分钟内同步,可重试可重入,结合CMDB,疾速将巡检工作散发到边沿拨测零碎,保障巡检疾速、高效不乱。
    智能调度零碎:巡检剖析后果能够间接与智能调度零碎联动,按照毛病类型做出业务决策,假如是IP粒度的小型毛病,自建CDN自动上下线,关于商业CDN要求其两个小时内处置终了,无奈修复要求其摘除IP,更新API接口。假如是大型毛病,如某省、某经营商毛病或某类型文件无奈播放,智能调度零碎及时调剂流量,使用其余CDN进行灾备切换。
    技术难点:关于全量IP拨测,在巡检工作拆分阶段需求结合IP所属经营商、不同经营商IP散布密度,拨测agent实时办事形态,拨测agent与被巡检CDN的网络形态等信息做出决策,保障99%以上的拨测掩盖率。
    边沿拨测零碎
    边沿拨测零碎是巡检拨测工作的真正履行者,散布在全国各大经营商、多个省分,有着弱小的散布式处置才能,而且部署形式简略,只需部署定制化的非侵入拨测脚本,任一办事器均可作为拨测agent。配置与散发零碎担任巡检拨测工作触发,监控每一个个拨测工作的履行状况。如图四所示,拨测agent反对两种巡检拨测形式:


    图四 边沿拨测零碎
    1.IP模式:用于全量IP巡检,经过IP直连形式获得被巡检CDN的拨测后果,次要用于功用测试。
    2.域名解析模式:线上用户的实在拜候是经过域名形式来实现的,因为各家CDN为了保障用户遵守本身的调度战略要进行二次调度,可能泛起使用外省资源办事用户,这样会升高用户拜候品质乃至泛起劫持的状况。同时,定向流量调度关于各家CDN的二次调度要求更加苛刻, 时辰需求保障响应IP合乎其提供的地址段。拨测agent经过摹拟实在用户,使用域名形式拜候CDN,获得各家CDN的本省掩盖率和劫持状况、定向流量调度状况。
    零碎运用场景
    CDN巡检零碎上线后,自建CDN与商业CDN在进行办事与配置变卦时都需求通过巡检零碎巡检经过后能力上线办事。此外的,巡检零碎关于曾经在线上办事的自建CDN与商业CDN还会进行按时巡检,如图五所示。


    图五 巡检零碎运用场景
    1.办事变卦:在新IDC节点上线、办事器上线和IDC节点割接的上线流程中,调用巡检零碎对CDN办事器功用进行反省,经过反省才允许办事器在智能调度零碎上线,防止异样办事器上线。
    2.配置变卦:在进行软件降级或者配置变卦的过程当中,实时调用巡检零碎进行CDN办事器功用反省,在发现异样的状况下及时回滚,升高影响规模和时间。
    3.商业CDN变卦:新商业CDN上线对接、新需要上线、毛病恢复上线的过程当中,调用巡检零碎进行CDN办事器进行功用反省,经过反省后才允许上线,升高商业CDN的毛病几率。
    4.CDN按时巡检:CDN巡检零碎按时创立CDN巡检工作,对CDN办事器的功用性,本省掩盖率、劫持状况、经营约定向流量业务进行反省,及时发现线上异样,并采用相应措施。
    效果与瞻望
    爱奇艺CDN巡检零碎已安稳运转半年,检测出相干功用配置问题100多起,文件MD5纷歧致问题10起, 定向流量出网5起,推进三家商业CDN整改办事资源,确保其保障100%的本省掩盖率。将来,爱奇艺巡检零碎会反对更多的巡检模式,结合人工智能技术,为将来的IOCP业务、奇速播业务保驾护航,保障用户极致的视频文娱体验。
    作者:零碎网络团队
    出处:http://mp.weixin.qq.com/s/trAUlnQM1BGgxFALrLM_SQ

    发表回复

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

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题19

    帖子29

    积分133

    图文推荐