爱奇艺分布式服务框架-Solar

合集下载

爱奇艺Key-Value数据库HiKV应用实践

爱奇艺Key-Value数据库HiKV应用实践
爱奇艺Key-Value数据库HiKV应用实践
HiKV 是什么?
• 爱奇艺基于Scylla开发的Key-Value数据库
• Scylla : C++重写的Cassandra,高吞吐,低延时 • HiKV : High Performance Key-Value Database
• 特点
• 大容量:单集群百TB数据量 • 高负载:单节点10w+ QPS • 低延时:读写延迟 P99<10ms • 部署:多数据中心、在线扩容 • 最终一致性 • 查询缓存、物理备份、认证和授权
•PSYNC代替SYNC
2015年
3.0.5
•可以在从库读到过期 key的问题 •Sentinel+DNS 高可用
2016~2019年
3.2.7/9
2020年
5.0
•解决从库读到过期key的问题 •客户端分片SmartJedis •上线服务端Cluster集群 •Redis Cluster Proxy
CB5.1.1
•XDCR增加细粒度延 迟监控,提前预知
XDCR同步异常
•上线JAVA动态客户 端,实现集群级别故
障透明切换
•研发CB->HiKV同步
工具,实现快速数据 同步迁移 •100%运维自动化,监 控全覆盖(延迟监 控,拨测监控), 50%告警实现自愈
2020
CB6.0
•调研阶段 •Ephemeral buckets •多数据结构 •权限管理 •二级索引
•PSYNC2 部分同步 •异步删除 •Modules扩展 •主动碎片整理
适用场景: • 各个集群之间处理的数
据没有重叠 • 同一集群上不对同一个
key做并发修改

perfect 分布式 -回复

perfect 分布式 -回复

perfect 分布式-回复什么是分布式系统?分布式系统是由多个独立的计算机节点通过网络进行通信和协作的系统。

每个节点在分布式系统中扮演着特定的角色,可以共享资源和处理任务。

分布式系统的设计旨在提高系统的可靠性、可扩展性和性能。

为什么需要分布式系统?传统的单机系统在处理大规模数据和高并发情况下往往会遇到性能瓶颈和可靠性问题。

分布式系统通过将任务分割成多个子任务并在不同的计算机节点上进行处理,可以显著提高系统的处理能力和可靠性。

此外,分布式系统还能够更好地适应不断变化的业务需求和用户规模。

分布式系统的核心概念和技术是什么?1. 基础设施:分布式系统的基础设施包括计算机节点和网络。

计算机节点可以是物理机或虚拟机,通过网络进行通信和数据交换。

2. 数据一致性:在分布式系统中,多个节点可能对同一份数据进行处理。

为了确保数据的一致性,需要采用数据复制、锁机制、分布式事务等技术手段来保证数据一致性和可靠性。

3. 通信和消息传递:由于节点分布在不同的物理位置,节点之间需要通过网络进行通信和消息传递。

常用的通信模型有同步通信和异步消息传递。

4. 负载均衡:为了提高系统的性能和稳定性,分布式系统通常会采用负载均衡策略,将任务和请求分配给不同的节点,以充分利用系统资源并避免资源瓶颈。

5. 容错和容灾:分布式系统需要具备容错和容灾能力,以应对节点故障、网络故障等意外情况。

常见的容错技术包括冗余备份、备份恢复和故障检测。

6. 分布式存储:分布式系统需要能够支持大规模数据的存储和访问。

常见的分布式存储技术包括分布式文件系统、分布式数据库和分布式缓存。

7. 分布式计算:分布式计算是分布式系统的核心功能之一,它将任务划分成多个子任务并在不同的节点上并行处理。

常见的分布式计算框架有Hadoop和Spark。

分布式系统的优势和挑战是什么?1. 优势:- 提高系统的可靠性和性能:通过将任务分布到多个节点上,分布式系统可以达到更高的性能和可用性。

爱奇艺与PPS进入整合第二阶段

爱奇艺与PPS进入整合第二阶段

爱奇艺与PPS进入整合第二阶段作者:来源:《综艺报》2013年第20期10月16日,爱奇艺公司在北京召开“开启全新视界“品牌升级战略发布会,愛奇艺、PPS 全体高管悉数亮相,共同宣布旗下两大视频品牌、全面升级,并现场发布升级后的新品牌LOGO。

爱奇艺创始人兼CEO龚宇表示,目前公司整合已经进入第二阶段,即享受协同效应带来的回报。

品牌升级后,爱奇艺与PPS在整合资源提升效率的基础上,将更加注重双方各自的独立性与品牌差异化。

爱奇艺从主要定位于影视内容为主的长视频播放平台重新定位于综合性的新主流视频媒体,继续高品质综合视频服务;PPS则从定位于长视频的播放工具重新定位于提供丰富内容的视频娱乐平台,打造专业、丰富、友好的全视频娱乐平台和游戏娱乐平台。

据悉,目前两个子品牌正在根据各自优势整合打通C D N和P2P技术,云平台、大数据技术也在不断成熟。

(刘爽)腾讯视频接入微信支付扩盈利通道近日,腾讯视频宣布开通微信支付功能,并推出1元开通会员让利活动,试图借助新兴模式加速视频付费业务发展。

在腾讯视频接入微信支付后,用户可在腾讯视频好莱坞影院播放页通过扫一扫功能直接使用微信支付购买服务。

为培养用户付费习惯,10月12日至11月3日之间腾讯视频好莱坞影院将推出多项让利活动。

此次让利活动除了包括用户用微信支付1分钱看一部好莱坞大片,还有通过微信支付1元开通会员服务的优惠。

同时,在上述时间内的每周六、周日,腾讯视频将在广州的正佳、中华广场、天河城、百脑汇等四大Shopping Mall举办“金秋十月三重礼微信支付看大片”线下路演活动。

目前好莱坞影院拥有1400余部大片,近日,腾讯视频再次接入迪斯尼影视资源,包括迪斯尼旗下曾推出《复仇者联盟》的漫威电影工作室、打造《玩具总动员3》等多部奥斯卡金像奖热门影片的皮克斯工作室,以及出品《加勒比海盗》电影系列的华特迪斯尼电影工作室等王牌制作团队的作品都已经陆续登陆腾讯视频好莱坞影院。

叶炜晨:爱奇艺实时数据采集计算平台--Venus

叶炜晨:爱奇艺实时数据采集计算平台--Venus

爱奇艺实时采集计算平台—Venus4月22日视频网站“奇艺”正式上线6月23日推出“奇艺出品”战略11月26日品牌战略升级为“爱奇艺”11月2日爱奇艺成为百度的全资子公司5月7日爱奇艺与PPS合并提供更优质服务9月2日爱奇艺移动端流量首次超过PC端成为中国视频发展的标志性事件4月18日爱奇艺工作室战略启动7月17日爱奇艺宣布成立影业公司提出“爱7.1电影大计划”2月18日羊年春晚独家在线直播7月6日《盗墓笔记》全集上线60小时总播放量破10亿10月14日爱奇艺VIP会员品牌全面升级12月1日爱奇艺VIP会员突破1000万1月21日爱奇艺成为2015年中国市场热门非游戏类应用中收入最高的应用(App  A nnie:《全球移动应用市场2015年回顾报告》)2月7日直播2016猴年春晚独家,除夕当晚总播放量突破4500万。

爱奇艺大事记2010201120122013201420152016月度覆盖人数NO.1月度浏览时间NO.1日均覆盖人数NO.1爱奇艺APP  核心指标行业领先l●爱奇艺移动端以2.69亿人的月度覆盖位列行业第一,总体占比高达56.7%,行业领先优势持续加大l●爱奇艺移动端凭借人均单日使用次数5.03次,成为视频用户首选之一(数据来源:艾瑞MUT,2016年1月)数据来源:艾瑞MUT,2016年1月数据来源:艾瑞MUT,2016年1月数据来源:艾瑞MUT,2016年1月移动端数据爱奇艺腾讯视频优酷乐视视频搜狐视频PPTV网络电视土豆网风行视频芒果TV凤凰视频日均覆盖人数(万人)9,798.87,699.74,336.12,684.41,245.0856.4749.4236.2192.2108.6爱奇艺腾讯视频优酷乐视视频搜狐视频PPTV网络电视土豆网芒果TV风行视频响巢看看月度覆盖人数(万人)26,929.819,708.614,322.47,925.15,359.03,211.32,657.61,428.41,205.8610.6爱奇艺腾讯视频优酷乐视视频搜狐视频土豆网PPTV网络电视风行视频响巢看看芒果TV月度浏览时间(万分钟)15,900,799.29,766,737.79,543,680.93,654,261.02,755,628.31,712,527.51,201,895.0450,522.9135,986.1101,118.8目录•爱奇艺大数据平台发展和背景简介•实时采集计算平台解决的问题•实时采集计算平台的功能架构•技术细节解析•总结和体会自我介绍•上海交通大学计算机系硕士•2013年加入爱奇艺云平台•2014年负责爱奇艺HBase业务•2015年起负责爱奇艺实时计算相关业务一,爱奇艺大数据发展和背景简介爱奇艺大数据平台发展历程2013Hadoop/MapReduce 上线HBase/Hive 上线2014Spark 上线Kerberos o n H adoop 上线2015Spark/MapReduce o n Y ARN 上线2015Spark S treaming 上线2016Workflow SQL …爱奇艺实时计算发展历程2013Storm S tandalone 上线2014Spark S tandalone 上线2015Storm o n M esos 上线Spark o n Y ARN 上线2015Spark S treaming o n Y ARN 上线2016Spark S treaming S QL 上线爱奇艺大数据系统框架Kafka Spark StreamingSpark MapReduce Flume Storm HDFSHBase Hive Batch 计算数据源流计算数据源YARNMesos 大数据业务需求Elasticsearch资源调度计算框架数据爱奇艺实时采集计算平台VenusKafkaSpark Streaming Flume流式数据源实时大数据分析解决方案ElasticsearchKibanaStreaming S QL 源码改造泛化整合iQIYI Venus实时采集计算平台Venus 解决的主要问题是-­‐-­‐分布式日志数据的实时分析二,实时采集计算解决的问题实时采集计算要解决的问题单机程序在集群的场景下,对日志的收集处理变成了一个绕不过的难题一台机器双机互备两台机器负载均衡三台机器集群支持横向扩容互联网时代的服务架构变迁集群中日志的处理分析•传统日志处理手段cat  xxxxx.log  |  g rep XXXX  |  grep XXXX  |  sort  xxxx…….  ??机器数量多每天日志总量大近实时的查询日志需求然而,旧时代处理单机日志的方式已经不能处理集群上的日志互联网公司的日志处理需求1实时统计分析23快速故障定位实时日志报警实时统计指标,绘制实时报表传统方案的grep xxx | w c-­‐l , z abbix 定制脚本等快速查询检索,定位指定日志产生的位置相当于传统方案的grep/find根据实时日志统计和检索的结果报警传统方案zabbix 定制化脚本Venus在爱奇艺在爱奇艺,Venus平台接入的数据范围涵盖播放生产存储会员支付用户账户播放记录安全风控峰值支撑日志流量:超过百万条每秒三,实时采集计算平台的功能架构爱奇艺实时采集计算平台Spark S treamingStreaming S QL机器1agent机器2机器3机器4机器5agentagentagentagentKafkaFlume中间层ElasticsearchWebUIHDFS/HBase实时统计报表实时报警实时查询定期任务冷备数据地图其他业务复用客户端Agent选型机器1agent 机器2机器3机器4机器5agent agent agentagent•Agent:基于Apache  F lume  1.6.0  改造开发的客户端•选型理由:1,Java源码更灵活,易于二次改造,2,和Kafka,Spark等集成良好Source channelSink缓冲池选型•Apache  K afka:  大吞吐,高容错,高稳定性的开源分布式消息系统•选型理由:Kafka 1,吞吐量大,单机QPS高2,和Flume,Storm,Spark等集成稳定。

爱奇艺pcdn协议原文

爱奇艺pcdn协议原文

爱奇艺pcdn协议原文(实用版)目录1.爱奇艺 pcdn 协议简介2.爱奇艺 pcdn 协议的工作原理3.爱奇艺 pcdn 协议的优势4.爱奇艺 pcdn 协议的应用场景5.爱奇艺 pcdn 协议的未来发展正文1.爱奇艺 pcdn 协议简介爱奇艺 pcdn 协议,全称爱奇艺点播内容分发网络协议,是爱奇艺公司自主研发的一种点播内容分发网络协议。

该协议主要应用于爱奇艺视频平台的内容分发和服务,能够有效提高用户观看视频的体验,提升视频加载速度,降低视频播放过程中的卡顿和缓冲次数。

2.爱奇艺 pcdn 协议的工作原理爱奇艺 pcdn 协议的工作原理主要基于分布式缓存和负载均衡技术。

具体来说,当用户请求观看某个视频时,爱奇艺 pcdn 协议会在全球范围内的节点服务器上查找该视频的缓存副本,并根据节点服务器的负载情况、用户地理位置等因素选择一个最佳的服务节点,将视频内容分发给用户。

3.爱奇艺 pcdn 协议的优势爱奇艺 pcdn 协议具有以下几个优势:(1)提高视频加载速度:通过在全球范围内的节点服务器上缓存视频内容,用户可以就近获取视频数据,有效缩短视频加载时间。

(2)降低视频播放过程中的卡顿和缓冲次数:爱奇艺 pcdn 协议能够根据用户的网络状况和节点服务器的负载情况,实时调整视频码率和分发策略,保证用户观看视频的流畅性。

(3)提高内容安全性:爱奇艺 pcdn 协议可以对视频内容进行加密传输,防止非法盗链和盗播,有效保护爱奇艺视频平台的内容安全。

(4)灵活扩展性:爱奇艺 pcdn 协议支持多种网络协议和传输方式,可以根据业务需求进行灵活扩展和调整。

4.爱奇艺 pcdn 协议的应用场景爱奇艺 pcdn 协议主要应用于以下场景:(1)在线视频平台:爱奇艺 pcdn 协议可以为在线视频平台提供高质量的视频分发服务,提升用户体验。

(2)直播业务:爱奇艺 pcdn 协议可以应用于直播业务的内容分发,实现直播内容的低延迟、高流畅度传输。

2023年爱奇艺主要剧集、综艺工作室及代表作报告模板

2023年爱奇艺主要剧集、综艺工作室及代表作报告模板
4.《偶像练习生》、《创造营》等节目挖掘和培养娱乐人才除此之外,综艺工作室还制作了许多其他类型的综艺节目,如《偶像练习生》、《创造营》等。这些节目通过不同形式,挖掘和培养新一代的娱乐人才,满足了观众对于娱乐资讯和新鲜事物的需求。
综艺工作室的快乐无边如何体验
综艺工作室创意无限,快乐无边综艺工作室的创意无限,快乐无边
综艺工作室的快乐无边
02
The endless joy of a variety studio
综艺工作室及代表作
1.综艺工作室:创意娱乐的引领者综艺工作室是一个在娱乐产业中具有重要影响力的制作公司,其作品在国内外广受欢迎。其核心团队由一群充满创意和热情的媒体人组成,他们致力于打造独特的节目,让观众在娱乐中获得快乐。
综艺工作室:《快乐大本营》、《奔跑吧兄弟》等综艺工作室是一个充满创意和活力的团队,致力于创作出令人欢笑、感动和思考的综艺节目。他们的代表作品包括《快乐大本营》、《奔跑吧兄弟》和《极限挑战》等。
综艺无限创意,明星与大众共绽放首先,综艺工作室的创意无限体现在他们的作品中。他们不仅善于挖掘明星嘉宾的潜力,也善于发现普通人的闪光点。他们以独特的视角和创新的思维,将各种元素融合在一起,创造出令人耳目一新的综艺节目。
3.《奔跑吧兄弟》:国内真人秀代表作,推广综艺制作方法另一部代表作是《奔跑吧兄弟》。作为国内最受欢迎真人秀节目之一,《奔跑吧兄弟》不仅展示了明星们的实力和个性,同时也传达了团队精神和健康生活方式的重要性。这部节目为综艺工作室带来了广泛的声誉,也使得节目制作和拍摄方法在业界得到推广和应用。
4.综艺工作室推热门节目,如《向往的生活》、《极限挑战》等,创意无限,欢乐无穷除此之外,综艺工作室还推出了众多其他备受关注的节目,如《向往的生活》、《极限挑战》、《我们的师父》等。这些节目以各自独特的方式展现了综艺工作室的创意和才华,为观众带来了无尽的欢乐。

sdvoe 分布式 -回复

sdvoe 分布式-回复什么是sdvoe 分布式?SDVoE是指软件定义视频传输以太网,这是一种新兴的技术和标准,旨在通过基于以太网的体系结构实现高质量、无延迟、零损失的视频传输。

SDVoE旨在通过将视频信号分割为流和数据包,然后通过网络将其传输到目标设备,实现高清视频和音频的分发和显示。

分布式是指系统中的每个组件都运行在不同的物理设备上,这些设备可以是计算节点、存储节点或其他资源节点。

分布式系统通过网络进行通信和协作,以实现整体系统的目标和功能。

在SDVoE中,分布式体现在视频和音频信号被分割为流和数据包,然后通过网络进行传输和处理的过程中。

那么,SDVoE分布式是如何工作的呢?首先,SDVoE系统将视频信号转换为视频流和音频流。

视频流格式可以是HDMI、DisplayPort等常见的视频信号格式,而音频流可以是PCM、Dolby Digital等音频格式。

然后,这些信号流通过网络传输到目标设备,传输过程中可以进行压缩和编码以减少数据传输量。

在目标设备上,SDVoE系统接收到流并进行解码和分发。

解码将视频和音频信号还原为原始格式,然后分发到显示器、音响系统或其他音视频设备上进行播放。

在这个过程中,系统可以根据需要进行画面处理、音频处理和延迟控制,以保证最佳的观看和听觉体验。

整个传输和处理过程中,SDVoE系统需要具备高质量的网络连接和带宽支持。

这意味着要使用高性能的以太网交换机和网线,以确保信号传输的稳定性和可靠性。

此外,由于SDVoE系统具有分布式的特性,它可以根据需要进行灵活扩展和配置,以适应不同规模和需求的故障。

在SDVoE分布式系统中,还有一些关键的组件和技术。

其中,视频矩阵和音频矩阵是用于分发和路由信号的关键部分。

它们可以将输入信号分发到多个输出设备,也可以将多个输入信号合并到一个输出设备上。

此外,用于编码和解码的硬件和软件也是至关重要的。

它们能够将原始信号转换为流,并在目标设备上还原为原始格式。

爱奇艺SWOT分析

爱奇艺SWOT分析
4 In Dream


爱奇艺简介
爱奇艺SWOT分析
爱奇艺-简介
爱奇艺SWOT分析——S
爱奇艺内容优势(重合度)
从此 数据可看出,若客户采用“优 酷+其他网站“的投放方式时 ,爱奇艺与优酷的重合比例 最低优酷Biblioteka 18.63%爱奇艺
优酷
32.63%
土豆
优酷
24.61%
搜狐
普维投资(普罗维登斯)
网站定位明确
爱奇艺SWOT分析——W
爱奇艺起步时间晚
视频网站 成立时间
乐视网
56网 土豆网 酷6 优酷网 搜狐视频 爱奇艺
2004年
2005年 2005年 2006年 2006年 2006年 2010年
腾讯视频
迅雷看看
2011年
2012年
数据来源:中国互联网络信息中心(CNNIC)2015.4.1-2015.6.30
爱奇艺SWOT分析——O
市场前景广阔
爱奇艺SWOT分析——T
您是否付费购买过视频网站的VIP会员?
数据来源:调查星《视频网站付费会员制调查》 /report/4545102.aspx
您不购买会员的原因是?
数据来源:调查星《视频网站付费会员制调查》 /rep现金流,其中中国七成以上的用户使用过综 合搜索引擎获取视频信息 综合搜索引擎是用明确
坚持“悦享品质(Always Fun, Always Fine)”
“悦享品质”四个字准确表达了爱奇艺高度追求品质的经营理念。作为国内首 家倾公司之全力来做正版高清视频播放平台的爱奇艺,将从流畅的观映体验、 高清的视觉效果、贴心的分享感受等多个方面将“品质”做到极致,满足用户 “悦享品质”的生活追求。

爱奇艺-CDN数据运维平台介绍

内容
• 整体架构 • 资源管理 • 数据平台 • 配置管理 • 智能调度
天工整体架构
智能调度 配置管理
基础模块 CDN
监控管理
数据平台 资产流程
CDN资源管理
资源池管理
服务器
• 上架部署 • 下架回库 • 服务状态
智能IDC
• 分布拓扑 • 服务属性 • 实时汇报
区域管理
• 运营商管理 • 大区管理
• 状态收集
• 服务所属App版本状态 • 服务器基础信息(硬件、OS等)
自动化部署
• 操作系统装机、系统初始化 • Puppet Agent
OS初始化 • 服务key 安装
• 视频、静态、调度等业务
服务部署 • 服务重启、回滚
• 配置同步
配置变更 • 配置回滚
CNC repo CT repo CM repo
...
天工Web (CMDB)
CDN 服务节点
配置任务管理
• 任务模块
• 任务拆分、状态查询 • 任务管理: 重试
• 核心任务
• 文件分发
• 分发特定文件到目标主机 • 流程可定义
• 服务、App部署
• Initialize: 装机始化、硬盘初始化、bond等 • Deploy: 服务部署
IP库管理
• 服务化
应用拓扑
服务树管理
流程工单系统
流程工单系统
• 目标
• 承接所有运维操作 • 流程可灵活配置
• 设计: 基于角色的流程系统
• 元素: 状态、动作、角色 • 关联: 状态关联角色,角色关联动作,人员划分入角色 • 变迁: 动作触发不同状态的变迁 • 管理: 角色跟部门关联,由部门leader管理

爱奇艺的Java缓存之路,你应该知道的缓存进化史!

爱奇艺的Java缓存之路,你应该知道的缓存进化史!本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。

先简单介绍一下爱奇艺的java缓存道路的发展吧。

可以看见图中分为几个阶段:第一阶段:数据同步加redis通过消息队列进行数据同步至redis,然后Java应用直接去取缓存这个阶段优点是:由于是使用的分布式缓存,所以数据更新快。

缺点也比较明显:依赖Redis的稳定性,一旦redis 挂了,整个缓存系统不可用,造成缓存雪崩,所有请求打到DB。

第二、三阶段:JavaMap到Guava cache这个阶段使用进程内缓存作为一级缓存,redis作为二级。

优点:不受外部系统影响,其他系统挂了,依然能使用。

缺点:进程内缓存无法像分布式缓存那样做到实时更新。

由于java内存有限,必定缓存得设置大小,然后有些缓存会被淘汰,就会有命中率的问题。

第四阶段: Guava Cache刷新为了解决上面的问题,利用Guava Cache可以设置写后刷新时间,进行刷新。

解决了一直不更新的问题,但是依然没有解决实时刷新。

第五阶段: 外部缓存异步刷新这个阶段扩展了Guava Cache,利用redis作为消息队列通知机制,通知其他java应用程序进行刷新。

这里简单介绍一下爱奇艺缓存发展的五个阶段,当然还有一些其他的优化,比如GC调优,缓存穿透,缓存覆盖的一些优化等等。

有兴趣的同学可以关注公众号,联系我进行交流。

上面说的是爱奇艺的一个进化线路,但是在大家的一般开发过程中,第一步一般都没有redis,而是直接查库。

在流量不大的时候,查数据库或者读取文件是最为方便,也能完全满足我们的业务要求。

当我们应用有一定流量之后或者查询数据库特别频繁,这个时候就可以祭出我们的java中自带的HashMap或者ConcurrentHashMap。

我们可以在代码中这么写:但是这样做就有个问题HashMap无法进行数据淘汰,内存会无限制的增长,所以hashMap 很快也被淘汰了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 每次均从池中获取连接 – 锁粒度小,可能增加调用延迟 • 一个线程固定一个连接 – 不利于负载均衡
负载均衡
• 静态负载均衡 VS 动态负载均衡
• 针对不同的连接共享策略
• 启发式负载均衡 – 不考虑服务端状态
• 随机 • 轮询 • 最近最少访问 • 根据业务进行定制
• 考虑服务端真实负载的策略
• Solar借鉴了Finagle的使用接口和实现
异步
• Solar异步接口
异步
• 调用DAG编排:parallel, sequence, etc.
Parallel
Future Future Future
Future
Result
Sequence
Future
Future
Future
R务,并入爱 奇艺
9月2日 爱奇艺移动端流量首次超过 PC端,成为中国视频发展的 标志性事件
11月19日 小米科技以3亿美金入股爱 奇艺,成为爱奇艺第二大 股东
爱奇艺五年闪耀, 持续领跑视频行业体验革命, 力求超越突破、赢在创新!
爱奇艺 – 用户数据
• 服务端
• 总体QPS、及各服务QPS监控 • 慢调用数目 • 各服务调用错误数
• 客户端
• 响应时间分布 • 连接失效次数
总结 & 未来工作
• 总结
• 可扩展的RPC服务框架、异步、多协议 • 多种负载均衡、服务规避策略 • 统一的服务管控平台 • 实现了基于Docker的弹性伸缩方案
QAE
Guardro
Autocaling
QAE API
QAE Web
Docker
Docker
Docker
Docker
Mesos / Marathon
iQiyi Docker Registry
Venus
日志收集分 析
系统 监控
Solar on QAE
Solar Docker Repository
push Solar部署控制器 delete
现有方案
• 国内一些优秀方案
• Dubbo – 阿里巴巴 (开源)
• 仅支持Jav3;,扩展自Protocol Buffers
• Motan – 新浪 (闭源) • ….
Why Solar?
• 鱼和熊掌不可兼得
• 具有跨语言特性 – C++、Java、Python • 长连接、动态配置 • 安全访问 • 负载均衡策略 • 流量等完善的监控 • 能跟踪链路服务质量 • 具有高可用的方案
• 实时通知变更,便于进行动态配置管理 • 订阅服务端/客户端事件,插件化 • 服务提供者系统信息、Solar服务配置、调用端信息
连接池
• 短连接
• 不断建立、断开,增加额外系统开销 • 大量TIME_WAIT
• 连接池
• 预先建立一定数目的连接 • 全局共享,连接冗余,提供连接备份 • 获取连接时,注意避免线程间的锁竞争
Solar Web
Solar CLI
launch
• Solar CLI
QAE
~:# solar run ‐jars test1.jar ‐name="test‐app" ‐cores=4 ‐worker=6 <CLASS>
~:# solar help
> run [options] “”
> info “”
> scale‐up [options] “” > ….
运营支持
Solar‐Web
• 所有Solar服务的统一监控管理中心 • 服务发布、扩容、删除 • 通过Solar管理端口定时轮询各服务状态 • 相关信息按项目进行分离显示 • 实时配置变更 • 完善的监控体系
// 串行发起调用 SolarFutures.sequence(future1, future2);
服务注册与发现
• 服务注册中心
• 解耦客户端与服务提供方配置
Solar Server Solar Server Solar Server
Service Info Registry
Solar Client
• gRPC
• proto3 ‐ 扩展了Protobuf v2 • 基于HTTP/2的高性能RPC框架 • 适用于移动应用,节省资源 • Request/Response单参数调用模式 • 支持的语言更多 – C/C++、Java、Go、Node.js、
Python、Ruby、Objective‐C、PHP、C#
• 将监控数据纳入决策
微服务 & Solar弹性部署
微服务核心理念
• 微服务
• 小服务构建大应用 • 服务之间通过轻量通信机制交互(RPC、RESTful) • 服务独自部署演化,专注、简单 • 服务位置不可知,需服务协调者提供服务发现
• 优点
• 服务之间松耦合、有利于团队协作
• 缺点
• 运维要求高 • 引入分布式系统的复杂性 – 事务、测试…
客户端连接
Accepted


IO Loop


Connection Context
Connection Context
Read/Write IO Loop
Read/Write IO Loop
Task Executors Actors
IO模型
• 客户端
• 连接信道在调用间共享,提高IO利用率 • 连接池,避免不断连接开销
QPS可超过110W 网卡饱和
事件框架
• 安插在链路上的每个环节,暴露尽可能多的事件
• 按照等级,定义不同的事件处理流水线
• Server、Service、Procedure
Call
Call
Call
Server Context
Service Context
Procedure Context
• 附属功能均通过增加事件处理器实现
Solar‐Web
• 配置管理
• 连接数上限 • 服务权重 • QPS上限设置 • 负载均衡策略 • 连接池大小 • 路由规则设置
所有修改均在统一管理平台上完成 实时生效 无需登陆服务器重启服务
监控
• 集成在统一监控数据收集平台(iQIYI Apollo Metrics)
• 通过定制的DropWizard Metrics Sender发送数据
2015年9月
Solar单实例
• 主要特点
• 高效的IO传输层,QPS可超过100W(回声服务) • 可扩展协议接口 • 事件回调机制
Client
Connection Pool Load Balance
Back off Failover
Protocol IO Transport
Server
Service Procedure
Executors Future Objects
Caller Caller Caller Caller
IO Loop
Server
… …
IO模型
• 相比于原始Thrift
• 调用期间,连接不再被独占 • Actor模型,实现了真正的异步 • 可充分利用机器资源 – 网卡、CPU
CPU:16 core 内存:64GB 网卡:10Gb/s
Input / Output
现有方案
• Protocol Buffers (proto2)
• Google的统一数据交换格式 • 跨语言,序列化效率高 • 协议方便进行扩展,考虑了兼容性问题 • 提供了服务接口,但没有提供实现 • 仅仅支持C++、Java、Python • 与proto3不兼容
现有方案
• 自己动手,丰衣足食
Solar核心设计
Solar历史
• 罗马非一日建成
Thriftpool 0.1.X iQIYI Thrift 2.X
Solar 2.4
Solar 3.0
2013年初
2014年6月
2015年3月
• 前期开发基于Thrift, Why?
• 完善的RPC实现(服务端、客户端) • 多语言支持 • 支持IDL,自动代码生成 • 应用广泛
现有方案
• Finagle
• Twitter开发,面向JVM的可扩展RPC框架 • Scala编写,协议无关,便于扩展 • 三个核心概念 – Futures、Services 、Filters • 纯异步接口 – 支持简单强大的并发编程模型 • 完善的服务监控支持
• Zipkin – 调用链跟踪
• 社区活跃
• 如访问授权、流量控制等
事件框架
• 限制连接数示例
Solar关键特性
异步
• 优点
• 函数调用不阻塞,回调处理返回结果 • 相比于同步 ‐ 避免资源独占(线程、网络连接等) • 可并发发起多个调用,便于调用流水线编排
• 实现
• 线程模拟 – 伪异步 • 监听IO事件,Actor模型(Promise)
服务端
Event Handler Pipelines Solar Processor
Solar IDL 编译器
HTTP , HTTP/2

Common Protocol API
• 支持多种语言( Java、 C++、Python )
• 高效的IO传输层,QPS可 超过100W(回声服务)
• 支持纯异步及多协议 – Protobuf、Thrift等
爱奇艺分布式服务框架 ‐ Solar
• 孙琦 – 爱奇艺云平台
Agenda
• 爱奇艺 • Why Solar? • Solar核心设计 • Solar关键特性 • 微服务 & 弹性部署 • 运营支持 • 总结 & 未来工作
相关文档
最新文档