1、爱奇艺CDN运维平台实践爱奇艺基础架构部 研发总监01 爱奇艺CDN概况02 运维痛点分析03 运维平台架构设计04 平台应用&实践05 总结&展望目录01 爱奇艺CDN概况数据增长趋势数据增长趋势节点分层策略节点分层策略CDN 节点特点节点特点爱奇艺CDN数据增长趋势201420192015201820162017CDN设备量增长8倍分布区域增长10倍带宽增长20倍爱奇艺CDN节点分层爱奇艺CDN节点特点多多运营商运营商分布分散分布分散中心中心可连通性弱可连通性弱变更频繁变更频繁02 运维痛点总结软件配置管理软件配置管理运维数据统计运维数据统计CDN设备管理设备管理运维痛点 软件配置连通性不
2、可保证状态不可预知周期不可预估运维痛点 数据统计实时性差迭代低效开发繁琐CNCCTCMNETGWBNSCCIPTV收集代理HDFS数据统计、展示SSH-Based-Tools运维痛点 设备管理三大ISP小ISP纯内网 通过BGP、多线机房实现连通 管理方便 部分需要单独打隧道 缺点:节点上线复杂、不可靠 依赖合作商网络情况 缺点:配置复杂、登录管理复杂,不稳定运维痛点小结 软件配置l 配置任务状态不可控l 连通性不可靠l 日常软件、配置升级不可控l 一些案例:数据统计l 实时性差l 迭代效率低l 开发繁琐 设备管理03 运维平台设计架构演进大事记架构演进大事记整体架构设计整体架构设计通用代理服
3、务集群设计通用代理服务集群设计(Promise)运运维任务模型设计维任务模型设计应用配置管理应用配置管理权限管理权限管理运维平台Fast 整体架构APIAPI接入层接入层通用代理服务通用代理服务(Promise)(Promise)HTTPHTTP传输传输ZMQ-ZMQ-ProxyProxyKCP-ProxyKCP-Proxy任务模板任务模板生生 成成 器器配置管理配置管理服务发现服务发现设备管理设备管理sshsshwebshellwebshellFast webFast cliFast monitor其他外部系统智能调度资产平台监控系统云图可视化应用层应用层基于基于APIAPI层实现的层实现的
4、WebWeb管理、命令行工具、监控管理、命令行工具、监控dashboarddashboard等等APIAPI层层提供任务管理、模板管理、设备管理、服务发现及状态等接口提供任务管理、模板管理、设备管理、服务发现及状态等接口核心模块核心模块实现通用运维任务模板、差异化配置管理、设备反向管理等功能实现通用运维任务模板、差异化配置管理、设备反向管理等功能通用代理集群服务通用代理集群服务实现多协议的实时消息、文件传输、设备管理、数据上报等服务实现多协议的实时消息、文件传输、设备管理、数据上报等服务客户端客户端任务管理客户端、代理客户端、插件库等任务管理客户端、代理客户端、插件库等Fast 运维平台架构f
5、ast客户端promise客户端插件库外部系统外部系统外部联动可视化、资产、调度、监控等多个系统外部联动可视化、资产、调度、监控等多个系统通用代理服务(Promise)设计目标:l 集群化:自动探测发现集群所有的服务实例l 高可用:保证每个节点有3+可用代理l 可扩展:可以任意上线下线代理设备,自动摘除l 智能路由:自动探测最佳代理节点l 接口简单:支持HTTP、SDK方式使用l 多协议:支持控制流、数据流等场景的实时性和可靠性l 模型:数据传输类:标准http模式 消息控制类:sub/pub,push/pull,register/unregister 支持服务发现PromisePromise
6、集群集群CNCCTCMCDN CDN 节点节点CNCCTCM应用服务端应用服务端通用代理服务(Promise)架构及应用HTTP 接口ZMQZMQ协议协议KCPKCP协议协议应用层应用层APIAPI层层封装底层不同协议实现封装底层不同协议实现pub/sub,push/pull pub/sub,push/pull 等接口等接口核心模块核心模块协议协议目前支持目前支持zmqzmq/kcpkcp协议,协议,前者高吞吐、后者高效低延时前者高吞吐、后者高效低延时Promise 架构API:pub/sub push/pull,API:pub/sub push/pull,register/unregiste