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

下载本文档

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

文档简介

1、可持续发展的互联网产品架构设计传统产品的架构设计-1.0n建立Business ModelnE/R模型nO/O模型n确立业务流程n开发并严格测试(采用企业级Middleware或Framework)n58运营传统产品的架构设计-1.0Data Layer重视对象关系,对象关联性强,数据量小数据访问的性能往往通过成熟DB或者硬件配置保证数据存储尽量集中,防止信息孤岛Enterprise Middleware Or Framework 应用服务器面向标准规范,易于不同开发商产品之间打通业务逻辑复杂,耦合性高性能要求不高,日访问量灰度放量-Online升级n724运营互联网产品的架构设计-2.0Da

2、ta CacheProxyData LayerData LayerData LayerData Cache Data CacheLogic LayerOperating Layer平滑平滑扩容扩容版本版本升级升级用户用户模型模型系统系统模型模型Web Or Client对象关系简单,数据量大数据访问的性能往往通过logic层的cache来保证数据尽量分散,防止单点造成全员故障网络协议尽量简单,保证网络通信的高效Data Cache控制最大化,保证高效的数据访问性能要求高,日访问量10M甚至100M用户行为分析,系统模型分析和延迟故障分析在线设备扩容和版本升级面向用户设计,用户操作简单1.0 V

3、S 2.0以业务数据为核心以业务数据为核心确定业务流程确定业务流程开发并严格测试开发并严格测试1.02.058运营运营(重点解决系统(重点解决系统bug)运营与开发脱节运营与开发脱节以用户数据为核心以用户数据为核心通过用户模型确定系统模型通过用户模型确定系统模型简单开发、简单测试简单开发、简单测试724运营运营(重点采集数据模型)(重点采集数据模型)灰度升级灰度升级在线扩容在线扩容全全新新功功能能全全新新开开发发通通过过运运营营数数据据修修正正用用户户模模型型Fix bug互联网产品架构设计的3个核心n可运营n用户模型的采集n系统模型的优化n可管理n平滑扩展nOnline升级n可发展n灰度放量

4、n持续迭代互联网产品架构设计的4个概念n持续迭代,化繁为简n海量是什么n环境需要干净n可持续发展持续迭代,化繁为简n20/80原则n大系统,小做所有的系统通过所有的系统通过20/80的原则的原则都可以实现小做都可以实现小做再大的系统通过多次再大的系统通过多次20/80可可以将复杂问题变简单以将复杂问题变简单海量是什么n用户模型n用户行为n用户存储n系统模型nCPU、Traffic、Disk I/On存储量海量系统的关键海量系统的关键是要用有限的资是要用有限的资源最大化的去满源最大化的去满足用户的需求足用户的需求环境需要干净n开发环境n代码控制n测试环境n麻雀虽小,五脏俱全n运营环境n发布工具所

5、有的环境一定要干净所有的环境一定要干净可持续发展n力所能及、量力而行nStep by Step,站住点,再发展1阶段2阶段3阶段迭代迭代发展发展重点:产品功能重点:系统性能重点:数据运营互联网产品架构设计的10个方法n基础篇n灰度升级n性能n过载保护n发展篇n平滑扩容nSet模型n染色机制n统一部署n提高篇n容错n分布n柔性控制基础篇基础篇-灰度升级n灰度升级n指定UIN的升级nUIN号段的升级(Hash,连续号段)n指定版本的升级n版本回退只有有了灰度升级,才能实现系统的快速迭代只有有了灰度升级,才能实现系统的快速迭代例子-灰度升级HashServerServerServerServerMo

6、d 2000=0172.16.172.16.172.16.172.16.Version1.0Mod 2000=1172.16.172.16.172.16.172.16.1.1Mod 2000=2172.16.172.16.172.16.172.16.1.2Mod 2000=172.16.172.16.172.16.172.16.1.0Mod 2000=172.16.172.16.172.16.172.16.1.3Mod 2000=1999172.16.172.16.172.16.172.16.1.0UserVersionServerLegacy ServerNew ServerLegacy D

7、BServerNew DBServer12345UINServerServerServerServer10001100000172.16.172.16.172.16.172.16.Version1.130001172.16.172.16.172.16.172.16.1.2数据迁移控制用户升级控制基础篇-性能n性能n多进程、多线程不能完全解决系统性能的问题n什么样的系统最快,没有阻塞的系统最快(即全异步系统最快)高性能是利用有限设备资源支持海量用户的基础高性能是利用有限设备资源支持海量用户的基础例子-性能网络处理进程(被连接)网络处理进程(连接其他系统)逻辑处理进程memorycachedisk

8、cacheDatabase时钟EPOLL异步connectEPOLLChecktimeoutREQRSPREQRSP共享内存队列共享内存队列同步查询异步查询异步查询基础篇-过载保护n过载保护n系统自愈能力n防止恶意攻击海量系统中极容易造成海量系统中极容易造成“雪球效应雪球效应”雪球的产生无法避免,只要控制了雪球大小,就可以避免雪球的产生无法避免,只要控制了雪球大小,就可以避免“雪崩雪崩”例子-过载保护n在所有Tcp connection的地方进行过载保护n建立滑动窗口来进行过载保护,滑动窗口为1000个格子,每个格子是100ms内的请求数,每次将请求加入相应的格子中,进行一次summary统计

9、,如果summary MAX,那么CCD将拒绝请求,直到summary = MAXn因为Tcp connection对连接请求的超时控制在60s,Client端超时控制在45s,所以无论是恶意攻击还是client端访问超时,都会在100s的格子循环统计前进行清除nMAX的值根据各个Server的类型进行控制Tcp connection100ms100ms 100ms 100ms 100msSummary MAXRequest num100s request summary发展篇发展篇-平滑扩容n平滑扩容n网络层的平滑扩容nCache层的平滑扩容n存储层的平滑扩容Online的扩容和平滑升级是系

10、统可持续发展的保证的扩容和平滑升级是系统可持续发展的保证例子-平滑扩容n将Cache编号划分10000份,Key10000来定位Cache,当系统扩容时,首先需要dump出原来cache中需要迁移的数据,将cache转换到文件中,然后将文件传递到新服务器上,然后将数据文件import到内存中,最后修改cache的编号n由于采用了10000份区间,所以可以是1/10000的割接逐步放大,所有扩容过程可以自动完成n此外可以做得cache的扩容与db扩容无关,所有的扩容与扩容设备的数量无比例关系,系统的模块与扩容也没有较强的耦合IDXMaster0123456789012301230110 11 1

11、2 13 14 15 16 17 18 19230123012320 21 22 23 24 25 26 27 28 290123012301IDXMaster0123456789012345670110 11 12 13 14 15 16 17 18 19234567012320 21 22 23 24 25 26 27 28 294567012345Cache0Cache1Cache2Cache3File IDXCache4Cache5Cache6Cache7File IDX发展篇-染色机制n染色机制n用户操作跟踪n问题定位染色机制使得开发到运营成为闭环染色机制使得开发到运营成为闭环例子-

12、染色机制n因为Transaction为系统的协议转发中心,所有的信令请求将会通过它,所有Transaction中将会记录用户的操作痕迹nTransaction通过QQ号能对用户的痕迹进行跟踪TransactionClientServer1Server2Server3Server4Server5Server6Server7Server8Log: BY UINQQ: action1QQ:action2QQ:action3QQ:action 4QQ:action 5发展篇-Set模型nSet模型n逻辑模块的Set(Proxy,Cache,DB)n功能单元的Set(产品功能)n用户数的Set(PV,在

13、线)“小小”系统与系统与“大大”系统的本质区别系统的本质区别例子-Set模型接入层Set逻辑层SetTMasterTransactionTransactionDU、IDX、MD5MasterDownloadUploadFile IDXUser IDXMD5DownloadUploadFile IDXUser IDXMD5CHXMasterCHXCHX存储层Set8T一个Set128T一个Set发展篇-统一部署n统一发布、部署n脚步统一nLog统一n远程安装n生产环境、测试环境、运营环境一致开发、测试、发布、运营流程化的保障开发、测试、发布、运营流程化的保障提高篇提高篇-容错n容错nCache的

14、容错(Bin log)nDB的容错(replication)nFile的容错(Cluster)容错解决了单点问题,容灾解决了天灾问题容错解决了单点问题,容灾解决了天灾问题例子-容错n1、定时Dump dirty Node(10001,20008,30008),由于一块Cache占1G内存,假设10为胀数据,dump次文件需要5S,可以每天或几天进行一次n2、Log将记录所有的Update操作和Delete操作,这样就保证了设备在异常dump机后,能将cache进行恢复%10000=020000 clean30000 clean%10000=1%10000=999910001 dirty20001 clean30001 clean10008 clean20008 dirty30008 dirty19999 clean29999 clean39999 clean10000 clean%10000=020000 clean30000 clean%10000=1%10000=999950001 clean60001 dirty30001 clean10008 clean20008 dirty30008 dirty19999 clean29999 clean39999 clean10000 dirty%10000=0%10000=1%10000=999960001 dirty20008 d

温馨提示

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

评论

0/150

提交评论