- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第1页后台服务架构设计入门
即通emandywan
第2页emandywan(万展铭)QQ:38282952002.7毕业于华中科技大学2002.3~2005.06广州从兴电子负责广东移动计费2005.6~2011.11即通server中心,QQ扩展应用,企业QQ2011.11~互娱量子工作室w-game(斗战神)项目
第3页课程目标介绍一种后台服务架构的基本原则了解系统内不同进程之间的基本组织形式了解进程内的分层模型,和每层的一些设计要素让学员具备设计一个中小型业务系统的能力
第4页目录后台服务模型特点后台进程间常用架构进程内架构的分层模型网络层协议层逻辑层Cache层Data层总结
第5页Server业务模型特点你在开发、运维、扩容调整是遇到哪些问题是什么?(后台开发同事)
第6页后台服务模型特点后台服务架构模型?数据量多,并且不断增长运算量大可维护升级,但不能影响用户安全性要求高,容灾,过载,攻击……?
第7页架构的目标从何处出发想架构?架构源于需求。用户功能性,容量,性能,运维运营,竞争对手……如何衡量一个系统架构是否合适满足需求的、简单的、可靠的、扩展性好的、安全的,可运维运营的架构是一个演变的过程
第8页目录后台服务模型特点后台进程间常用架构进程内架构的分层模型网络层协议层逻辑层Cache层Data层总结
第9页Server中小系统常用架构Inerface-Server结构OuterServerInterfaceProcessServerProcessServerProcessServer
第10页Server进程间常用架构Inerface-Server结构有什么好处?内部结构对外透明,方便扩容、调整等各司其职,屏蔽和外部系统的耦合简化网络结构过载保护等统一处理有什么缺点?容易单点故障回包为什么可以不经过interface?
第11页Server进程间常用架构Inerface-Server结构Server如何划分?业务特点扩展性是否要读写分离?(写频率)轻重分离:小号用户更活跃,尾号为8或6的用户更活跃
第12页Server进程间常用架构Inerface-Server结构需要同时访问多个Server时的处理例如拉取所有好友的个性签名星形?环形?优劣点?OuterServerInterfaceProcessServerProcessServerProcessServer
第13页目录后台服务模型特点后台进程间常用架构进程内架构的分层模型网络层协议层逻辑层Cache层Data层总结
第14页进程(系统)的分层模型Cache缓存层Data数据层逻辑处理层网络接入层应用协议层API/Socket接口API/Socket接口
第15页网络接入层选择tcp?udp?QQ登录服务器转包独立接入--单用户请求流量udp:小数据量,方便分包的大数据tcp短连接:大数据量tcp长链接:大数据量,心跳的维护
第16页并发服务器的选择:select与epoll高性能并发服务,用非阻塞套接字epoll支持超过1024个套接字IO效率不随FD数目增加而线性下降ET和LT的区别见《UNIX网络编程.卷1,套接字联网API》的第30章客户/服务器程序设计范式
第17页即通后台通用模型:SvrFramework包含主循环的框架只需要指定本地地址、完成包处理函数即可调用SrvFrameworkInit指定绑定地址和注册回调函数HandleUdpPkg(SCTX*pstSctx,void*pCInfo,intiUdpName,void*pPkg,intiPkgLen)
第18页应用协议层查询QQ昵称BeginCharcStx包头校验字段stPkgHeadwLength整个包的长度wCmd操作命令号wSeq包序列号sBodydwUin要查询的号码cFlag查询的标志位EndCharcEtx包尾校验字符为什么要有应用协议层?网络收到二进制:02000d00010023000027110103
第19页应用协议层STX包总长(2字节在第1个包头里)包头消息头+包头消息头。。。(多个)消息体ETX字段长度(字节)类型描述sLength2UNSHORT包的长度cCommand1BYTECS命令号0x08sServerID2UNSHORT可以填写seqsClientAddr4UNLONG客户端IPsClientPort2UNSHORT客户端端口sConnAddr4UNLONG外部的IPsConnPort2U
文档评论(0)