




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广州斗鱼网络科技有限公司拍拍后台架构介绍陈志军2015-9-181拍拍后台架构介绍 - 大纲纵向 - 技术架构AppPlatform中间件模型负载均衡/容灾方案MsgQ监控体系发布流程横向 - SOA案例 - 多客服系统介绍对斗鱼服务器模型的思考纵向 - 技术架构nginx(+前端页面缓存)DBapache/TwsAO可复用的业务、聚合服务AO+DAO 数据服务同步/异步同步/异步DALDB分布式数据缓存云平台页面片缓存读/写写分布式文件系统配置中心索引服务DBApp Platform 中间件 表现层:cgiwebservice:基于web platform的cgi,运行于多进程模式的tws平
2、台上template:符合 google template 的页面模板,供cgi或webservice 用来渲染页面PO: 业务逻辑层和cgi或webservice之间进行数据传递的类,该类由AO组织,由cgi或webservice渲染页面时使用 应用层:AO:业务逻辑实现,运行于进程模式的App platform上(异步能力)IDL:业务对外提供的接口描述文件,可以通过autogen生成C+, java 以及 PHP 的代码 领域层、持久层BO:领域对象DAO:数据访问层实现,处理和事务相关的相关逻辑; ,运行于进程模式的App platform上 数据层:索引:基于sphinx构建的通用索
3、引系统,提供高性能的复杂查询服务TTC, TMEM, TDB:公司级的云设施DAOCAO数据库索引AOBOBOcgiIDLwebservicePOPOweb platformapp platformTMEMtemplateMVC展现层应用层领域层持久层数据层多进程的运行模式App Platform 中间件NetioAO0 x?AO0 x?AO0 x?DAO0 x?DAO0 x?BackNetioContainerFrontKeyBackKeypth 用户级线程,调度配置中心请求回应App Platform 中间件 职责单一、明晰 快慢分离 代码、模块、组件复用 平行扩展 集中监控 使用接口描述
4、语言,方便系统间集成 重复代码使用工具自动生成 业务代码与平台代码分离,简化业务逻辑 使用协程方式,简化业务逻辑和代码编写App Platform 中间件 IDL文件系统间的集成 IDL提供了充足的元数据信息 autogen,业务协议的自动生成 C+ php java C# delphi python 通过tcp/udp进行通讯负载均衡与容灾 服务请求路由方式/usr/local/c2csvc/global_conf/ServiceConfig.xml配置:Route=Mod(按路由key取模)Route=Mod+L5(按路由key取模+L5负载均衡)负载均衡与容灾 - L5负载均衡与容灾 -
5、 L5负载均衡与容灾 - L5MsgQ 应用程序或组件之间的一种通讯方式 分布式的 是“可靠”的MsgQ - 系统拓扑架构 Agents和Servers集群构成了MsgQ的消息服务总线. 接入CGIAODAOidmakerDAL频率限制分布式cacheWeb Platformnginx插件配置中心统计Server权限系统敏感词Log Server/模调proxyApp Platform错误码MsgQ其他组件监控体系监控一切可监控的监控一切可监控的发布流程EOS发布系统:cgi, html, js, pic rpm打包系统:ao, dao配置中心:路由切换,配置变更、DB管理等由系统来保证:(保
6、证环境一致性)dev -beta - gamma -idc灰度发布横向 - SOA面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。 可从外部访问 随时可用 粗粒度的服务接口分级 松散耦合 可重用的服务 服务接口设计管理 标准化的服务接口 支持各种消息模式 精确定义的服务契约案例案例 - - 多客服后台架构多客服后台架构智能的、复杂的、大QQ案例案例 - - 多客服后台架构
7、多客服后台架构案例案例 - - 多客服后台架构多客服后台架构模块功能服务器数量Proxy实现Sconn、Oidb、Paipai代理=2,B2跨机房容灾多机负载均衡,可平衡扩展Web接入实现客户端请求接入代理=4,C1网通和电信环境跨机房容灾Nginx负载均衡Ao/DaoC2C Platform平台架构=4,B1跨机房容灾多机负载均衡,可平衡扩展L5技术应用,自动摘除僵死机器,进行过载保护DB数据存储=6,A1数据跨机房双备份统计数据总开通卖家数:3W+ 总开通工号数:12W+活跃卖家数:2W+ 活跃工号数:10W+聊天客户数:60W+ /日接收消息数:400W+ /日 发送消息数:450W+
8、/日 不同类型的服务部署在不同类型的机器上,以节省硬件成本。服务器类型介绍服务器类型介绍对斗鱼服务器模型的思考对斗鱼服务器模型的思考 性能、扩展、容灾等方面的思考 代码维护方面的思考现有模型现有模型其它服务器MsgServer其它服务器netmsgnetmsgrpcrpc性能、扩展、容灾等方面的思考性能、扩展、容灾等方面的思考1.服务间通信链条长,影响性能;且MsgServer容易成为瓶颈2.数据都缓存在本地,无法做到平行扩展、无法容灾3.服务无法做快慢分离,慢速服务会拖累整体系统4.无法按业务逻辑划分模块,导致ChatRoom过于庞大,引起诸多问题5.消息队列(RPC请求)放在内存中,服务重启时,必然导致信息丢失6.服务器信息同步没有确认机制,不能保证一致性代码维护方面的思考代码维护方面的思考存在的问题(引自拍拍)每个AppServer都有大量的重复代码,增加了应用开发人员的负担;开发人员不可避免地需要编写调试协议打解包代码,花费大量的时间和精力;底层代码一旦有调整,需要重编各个AppServer;每个AppServer都由不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论