可持续发展的互联网产品架构设计_第1页
可持续发展的互联网产品架构设计_第2页
可持续发展的互联网产品架构设计_第3页
可持续发展的互联网产品架构设计_第4页
可持续发展的互联网产品架构设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可持续发展的

互联网产品架构设计传统产品的架构设计-1.0建立BusinessModelE/R模型O/O模型确立业务流程开发并严格测试(采用企业级Middleware或Framework)5×8运营传统产品的架构设计-1.0DataLayer重视对象关系,对象关联性强,数据量小数据访问的性能往往通过成熟DB或者硬件配置保证数据存储尽量集中,防止信息孤岛EnterpriseMiddlewareOrFramework应用服务器面向标准规范,易于不同开发商产品之间打通业务逻辑复杂,耦合性高性能要求不高,日访问量<1M次WebOrClient大量的表单设计数据关系复杂用户操作复杂,流程长互联网产品的架构设计-2.0建立用户数据用户模型,确定存储模型用户行为模型,确定访问模型搭建原型系统并简单测试上线运营--->灰度放量-Online升级7×24运营互联网产品的架构设计-2.0DataCacheProxyDataLayerDataLayerDataLayerDataCacheDataCacheLogicLayerOperatingLayer平滑扩容版本升级用户模型系统模型WebOrClient对象关系简单,数据量大数据访问的性能往往通过logic层的cache来保证数据尽量分散,防止单点造成全员故障网络协议尽量简单,保证网络通信的高效DataCache控制最大化,保证高效的数据访问性能要求高,日访问量>10M甚至100M用户行为分析,系统模型分析和延迟故障分析在线设备扩容和版本升级面向用户设计,用户操作简单1.0VS2.0以业务数据为核心确定业务流程开发并严格测试1.02.05×8运营(重点解决系统bug)运营与开发脱节以用户数据为核心通过用户模型确定系统模型简单开发、简单测试7×24运营(重点采集数据模型)灰度升级在线扩容全新功能全新开发通过运营数据修正用户模型Fixbug互联网产品架构设计的3个核心可运营用户模型的采集系统模型的优化可管理平滑扩展Online升级可发展灰度放量持续迭代互联网产品架构设计的4个概念持续迭代,化繁为简海量是什么环境需要干净可持续发展持续迭代,化繁为简20/80原则大系统,小做所有的系统通过20/80的原则都可以实现小做再大的系统通过多次20/80可以将复杂问题变简单海量是什么用户模型用户行为用户存储系统模型CPU、Traffic、DiskI/O存储量海量系统的关键是要用有限的资源最大化的去满足用户的需求环境需要干净开发环境代码控制测试环境麻雀虽小,五脏俱全运营环境发布工具所有的环境一定要干净可持续发展力所能及、量力而行StepbyStep,站住点,再发展1阶段2阶段3阶段迭代迭代发展发展重点:产品功能重点:系统性能重点:数据运营互联网产品架构设计的10个方法基础篇灰度升级性能过载保护发展篇平滑扩容Set模型染色机制统一部署提高篇容错分布柔性控制基础篇基础篇-灰度升级灰度升级指定UIN的升级UIN号段的升级(Hash,连续号段)指定版本的升级版本回退只有有了灰度升级,才能实现系统的快速迭代例子-灰度升级HashServerServerServerServerMod2000=0172.16….172.16….172.16….172.16….Version1.0Mod2000=1172.16….172.16….172.16….172.16….1.1Mod2000=2172.16….172.16….172.16….172.16….1.2Mod2000=…172.16….172.16….172.16….172.16….1.0Mod2000=…172.16….172.16….172.16….172.16….1.3Mod2000=1999172.16….172.16….172.16….172.16….1.0UserVersionServerLegacyServerNewServerLegacyDBServerNewDBServer12345UINServerServerServerServer10001~100000172.16….172.16….172.16….172.16….Version1.130001172.16….172.16….172.16….172.16….1.2数据迁移控制用户升级控制基础篇-性能性能多进程、多线程不能完全解决系统性能的问题什么样的系统最快,没有阻塞的系统最快(即全异步系统最快)高性能是利用有限设备资源支持海量用户的基础例子-性能网络处理进程(被连接)网络处理进程(连接其他系统)逻辑处理进程memorycachediskcacheDatabase时钟EPOLL异步connectEPOLLChecktimeoutREQRSPREQRSP共享内存队列共享内存队列同步查询异步查询异步查询基础篇-过载保护过载保护系统自愈能力防止恶意攻击海量系统中极容易造成“雪球效应”雪球的产生无法避免,只要控制了雪球大小,就可以避免“雪崩”例子-过载保护在所有Tcpconnection的地方进行过载保护建立滑动窗口来进行过载保护,滑动窗口为1000个格子,每个格子是100ms内的请求数,每次将请求加入相应的格子中,进行一次summary统计,如果summary>MAX,那么CCD将拒绝请求,直到summary<=MAX因为Tcpconnection对连接请求的超时控制在60s,Client端超时控制在45s,所以无论是恶意攻击还是client端访问超时,都会在100s的格子循环统计前进行清除MAX的值根据各个Server的类型进行控制Tcpconnection100ms100ms100ms100ms100msSummary<MAXRequestnum100srequestsummary发展篇发展篇-平滑扩容平滑扩容网络层的平滑扩容Cache层的平滑扩容存储层的平滑扩容Online的扩容和平滑升级是系统可持续发展的保证例子-平滑扩容将Cache编号划分10000份,Key%10000来定位Cache,当系统扩容时,首先需要dump出原来cache中需要迁移的数据,将cache转换到文件中,然后将文件传递到新服务器上,然后将数据文件import到内存中,最后修改cache的编号由于采用了10000份区间,所以可以是1/10000的割接逐步放大,所有扩容过程可以自动完成此外可以做得cache的扩容与db扩容无关,所有的扩容与扩容设备的数量无比例关系,系统的模块与扩容也没有较强的耦合IDX-Master01234567890123012301101112131415161718192301230123202122232425262728290123012301IDX-Master01234567890123456701101112131415161718192345670123202122232425262728294567012345Cache0Cache1Cache2Cache3FileIDXCache4Cache5Cache6Cache7FileIDX发展篇-染色机制染色机制用户操作跟踪问题定位染色机制使得开发到运营成为闭环例子-染色机制因为Transaction为系统的协议转发中心,所有的信令请求将会通过它,所有Transaction中将会记录用户的操作痕迹Transaction通过QQ号能对用户的痕迹进行跟踪TransactionClientServer1Server2Server3Server4Server5Server6Server7Server8Log:BYUINQQ::action1QQ::action2QQ::action3QQ::action4QQ::action5发展篇-Set模型Set模型逻辑模块的Set(Proxy,Cache,DB)功能单元的Set(产品功能)用户数的Set(PV,在线)“小”系统与“大”系统的本质区别例子-Set模型接入层Set逻辑层SetT-MasterTransactionTransactionDU、IDX、MD5-MasterDownloadUploadFileIDXUserIDXMD5DownloadUploadFileIDXUserIDXMD5CHX-MasterCHXCHX存储层Set8T一个Set128T一个Set发展篇-统一部署统一发布、部署脚步统一Log统一远程安装生产环境、测试环境、运营环境一致开发、测试、发布、运营流程化的保障提高篇提高篇-容错容错Cache的容错(Binlog)DB的容错(replication)File的容错(Cluster)容错解决了单点问题,容灾解决了天灾问题例子-容错1、定时DumpdirtyNode(10001,20008,30008),由于一块Cache占1G内存,假设10%为胀数据,dump次文件需要<5S,可以每天或几天进行一次2、Log将记录所有的Update操作和Delete操作,这样就保证了设备在异常dump机后,能将cache进行恢复%10000=020000clean30000clean%10000=1……%10000=999910001dirty20001clean30001clean10008clean20008dirty30008dirty19999clean29999clean39999clean10000clean%10000=020000clean30000clean%10000=1……%10000=999950001clean60001dirty30001clean10008clean20008dirty30008dirty19999clean29999clean39999clean10000dirty%10000=0%10000=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论