版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
务器编程架构实践2017.11背景•对于高可靠、高可用框架的要求•1、应用服务的不间断性:•1.1、服务程序可在线热升级•1.2、数据及配置可在线重新加载•2、应用服务可运维可监控:•2.1、服务异常自动重启•2.2、服务异常自动报警•2.3、服务配置项一致性•2.4、服务进程统一管理•为什么需要高并发、高性能框架?•1、互联网尤其是移动互联网的快速蓬勃发展对服务端应用的压力与日俱增•2、高性能、低延迟的业务需求对应用服务提出了更高的要求•3、内网中RPC通信、连接池的大量存在要求服务端支持大并发、高性能AclAcl服务器编程框架功能项服务器模型多进程服务模型、多线程服务模型、多线程服务模型、非阻塞服务模型、触发器服务模型、网络协程服务模型安全运行机制严格的用户权限限制,防止越权操作;IP地址访问控制,防止非法地址访问配置驱动方式独立的服务配置文件,丰富的配置项:进程数、线程数、防问控制、监听地址、进程预启动等均由配置项决定服务监听支持绑定TCP套接口、UDP套接口以及UNIX域套接口,支持同一进程同时绑定多个地址及端口服务管理支持应用服务在线热升级,升级过程不会中断服务;提供WEB管理接口及管理工具,方便远程管理运维监控提供应用服务进程管理模块,在线监控各个应用服务的存活状态,对异常崩溃的服务实时报警运行方式生产环境由acl_master服务管理进程控制管理;开发环境可以手工单独运行开发调试用服务器生成向导直接生成服务器程序框架;用valgrind检查服务程序的内存问题WEBGAMECDN…CHATMAIL应用层服务层协议层通信层基础层ProcessesAioUdpibersTriggersmasterissmtpmemcachebeanstalksqlpostgressqlcmpsqliteaiosslstreamase64sonxmluucodedatastructurethreadgfibermemorycoderPTPollTQueue…适配层FreeBSDLinuxWindowsAndroidThreadsevents(select/poll/epoll/kqueue/iocp/wmsg)configuremimecharsetOSAPIMacOSiWEBGAMECDN…CHATMAIL应用层服务层协议层通信层基础层ProcessesAioUdpibersTriggersmasterissmtpmemcachebeanstalksqlpostgressqlcmpsqliteaiosslstreamase64sonxmluucodedatastructurethreadgfibermemorycoderPTPollTQueue…适配层FreeBSDLinuxWindowsAndroidThreadsevents(select/poll/epoll/kqueue/iocp/wmsg)configuremimecharsetOSAPIMacOSibjl1、每个网络连接对应一个协程2、遇到网络IO读/写堵点就切走相应协程3、将IO句柄由epoll协程进行监控4、IO准备好时其对应协程重新加入调度队列1、每个网络连接对应一个协程2、遇到网络IO读/写堵点就切走相应协程3、将IO句柄由epoll协程进行监控4、IO准备好时其对应协程重新加入调度队列络协程网络协程应用场景•一、问答式应用服务•基于HTTP协议的服务应用,诸如:网站•基于SMTP/POP3/IMAP协议的服务应用•二、生产者–消费者类应用服务•如消息队列类应用•三、reactor和proactor两种模式的结合•统一的事件引擎监控所有的网络连接,有一个连接就绪时创建协程独立处理•此类应用如聊天服务、游戏服务等无状态的应用服务•四、大并发类应用服务•因为通过协程方式,将上层应用的堵塞式在底层转为非阻塞模式,所以非常容易以较低资源支持大并发类应用•如内网的多数应用服务为提高效率都支持连接池模式,需要服务端支持非常大的并发•五、网络限流•在协程中可以直接sleep,非常容易控制网络流量爱奇艺高性能高可用服务的工程实践•1、如何支撑超5亿月活用户的视频收看?•2、如何达到热播剧的快速分发?•3、如何达到视频流的快速开播?•---不能让用户多等一秒•4、如何针对大文件进行有效回源?这是Squid/ApacheTraffic/Nginx目前都未解决的问题CDN回源系统开发历程•••••••••••••••遇到的坑:uidApacheTrafficNginx2、多线程/多协程方式下的各种死锁3、缓存对象提前释放导致的各种崩溃4、内存“暴涨”导致的瞬间崩溃5、用户跳跃式点播视频导致回源带宽的大量浪费1、合并相同请求块数据,支持缓存部分数据2、优化线程锁及协程锁设计,避免死锁3、有效隔离缓存对象的内存队列4、内部禁止大内存分配,同时采用sendfile等零拷贝技术,内存仅占几百兆5、调整数据视频回源优先级,优先保证在线收看请求6、支持流式数据传输,提升视频开播速度缓存管理器协程线程协程协程线程协程协程线程管理器线程管理器任务管理器线程协程协程消息管理器连接管理器Acl服务基础框架缓存管理器协程线程协程协程线程协程协程线程管理器线程管理器任务管理器线程协程协程消息管理器连接管理器Acl服务基础框架磁盘管理器爱奇艺CDN回源软件架构客户端连接连接协程池下载协程池协程线程协程协程协程线程协程协程爱爱奇艺CDN回源方案解析特性说明高并发支持高并发接入,同时简化程序设计高性能高吞吐O低回源源及部分缓存,大大降低回源带宽开播快式,提升视频开播速度可扩展于扩展新功能维护框架,易管理,好维护消息接收节点消息接收节点消息接收节点消息接收节点消息发送节点消息发送节点错。爱奇艺CDN分发同步系统架构爱奇艺高性能DNS•爱奇艺为什么要开发自己DNS?•开发DNS面临的挑战:•2、QPS与View数量无关•3、Zone频繁更新不影响正常服务•4、主从切换无感知数据加载线程数据加载线程数据加载线程数据加载线程DNSUDP请求DNSTCP请求一、UDP服务进程:2、采用recvmmsg/sendmmsg多读多写方式,提升每次IO包收发能力3、采用内存预分配策略,减少内存动态分配/释放时的“锁”冲突二、TCP服务进程:每个TCP请求分配一个协程进行业务处理三、UDP及TCP服务进程在更新数据时采用RCU方式四、UDP及TCP服务进程均由master管理进程统一管理爱奇艺高性能DNS架构DNS数据 工作线程 工作线程工作协程工作协程 工作线程UDP进程TCP进程工作协程工作协程 工作线程工作协程 Master管理进程爱爱奇艺高性能DNS架构分析优势说明高性能启用Linux3.0内核的REUSEPORT功能,提升多线程并行收发包的能力采用Linux3.0内核的recvmmsg/sendmmsgAPI,提升单次IO数据包收发能力采用内存预分配策略,减少内存动态分配/释放时的“锁”冲突针对TCP服务模式,采用网络协程框架,最大化TCP并发怎能能力高可用采用RCU(ReadCopyUpdate)方式更新视图数据及配置项,无需停止服务,且不影响性能网卡IP地址变化自动感知(即可自动添加新IP或摘除老IP而不必停止服务)采用Keepalived保证服务高可用管理由Aclmaster服务管理模块管理DNS进程,控制DNS进程的启动、停止、重读配置/数据、异常重启及异常报警等爱奇艺生产环境数据真实展现•1、视频卡顿比<2%•2、CDN视频回源带宽<1%•3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 染色体断裂综合征的妊娠风险评估
- 临西执业护士护理技能测试卷
- 急性心梗护理查房
- Unit 8 Natural laws or human laws说课稿2025学年高中英语教科版必修四-教科版2016
- 26年肺功能动态评估指引
- 安徽省安庆市怀宁县2025-2026学年七年级下学期期中学情检测语文试卷(含答案)
- 医学26年:静脉血栓栓塞症防治 查房课件
- 第5课 美化图片我来做说课稿2025年小学信息技术(信息科技)五年级下册人教·陕师大版
- 老年人护理伦理困境处理
- 上海工商职业技术学院《安全系统工程》2025-2026学年第一学期期末试卷(A卷)
- T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 2026年1月浙江省高考(首考)历史试题(含答案)
- 计算机等级考试二级《Python语言程序设计》培训教学课件
- 从报表看企业-2课件
- DB11-T380-2016桥面防水工程技术规程
- 产后康复骨盆修复
- 第十五届运动会证件管理使用办法
- 文心雕龙导读教学课件
- 第4章_C55x处理器的软件设计-课件
- 湖北省普通高级中学学生档案
- 人教版1-4年级古诗日积月累汇总
评论
0/150
提交评论