欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

人人网技术架构的演进

  • 资源ID:46545826       资源大小:1.35MB        全文页数:42页
  • 资源格式: PPT        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

人人网技术架构的演进

人人网技术架构介绍人人网黄晶Guideline人人网架构发展NuclearRose架构发展2006Lets Get it startedResin ProMySQL InnoDB主从结构单Storage+Squid架构发展2007突飞猛进LVS Resin Web集群大量使用Memcached中间层,基于ICEMySQL集群,垂直分区简单分布式StorageLucence搜索架构发展2008继续突破开放API,SOAMySQL集群,水平分区加强监控和安全DFS,龙存架构发展2009 2010稳健发展紧耦合=松耦合,SOAGraceful degradationMySQL=NoSQL多数据中心,可扩展,灾备关注TCOGuideline人人网架构发展NuclearRoseNuclear 功能分布式key-value存储数据自动复制到多个节点数据自动分区到不同节点存储容量无限扩展CAP - CANuclear - CAP可用性永远可写入(Hinted Handoff)不存在单点风险Nuclear - CAP多一致性选项DISCARDMINQUOROMDISCARDUOROMALL提供最终一致性Eventually ConsistentNuclear - OverviewNuclear - 原理构建NIO NettyProtocol BuffersSpring富数据模型Key=List弱结构化查询Nuclear - 原理分区 Hash RingABCNode A06148914691236517205Node B614891469123651720512297829382473034410Node C1229782938247303441018446744073709551616Nuclear - 原理增加节点Node NNode ANode BNode CNode N03074457345618258602Node A30744573456182586026148914691236517205Node B614891469123651720512297829382473034410Node C1229782938247303441018446744073709551616Nuclear - 原理增加节点A c,a,b, c,a,bB a,b,c,a,b,cC b,c,a,b,c,aN c,n,b,c,a,bA n,a,c,n,b,cB a,b,n,a,c,nC b,c,a,b,n,aA a,b = NB b,c = NC c,n = NNuclear - 原理替换节点A d,a,c,d,b,cB a,b,d,a,c,dC b,c,a,b,d,aD c,d,b,c,a,bN d,n,c,d,b,cB n,b,d,n,c,dC b,c,n,b,d,nD c,d,b,c,n,bB d,a = N C b,c = ND c,d = NNuclear - 原理删除节点A d,a,c,d,b,cB a,b,d,a,c,dC b,c,a,b,d,aD c,d,b,c,a,bB d,b,c,d,b,cC b,c,d,b,c,dD c,d,b,c,d,bC b,c = BD c,d = C B d,a = DNuclear - 原理节点状态迁移图Nuclear - 原理Consistency 和 NWRW+RNW=2 R=2 N=3系统保障最终的一致性Merkle TreeNuclear - 应用系统组件 普通节点 (Node) 接收Client请求 提供数据存储 中心节点(Seed) 维护整个Nuclear Instance的拓扑关系 健康检测 客户端(Nuclear Client) 提供CRUD APINuclear - 应用Nuclear InstanceNode ANode BNode Z SeedNuclear - 应用节点变更 增加 sh node.sh new A 删除 delete node A (manage.sh) 替换 replace ANuclear - 应用性能 单节点处理最高 2.5Wreq/s 典型应用环境: 4 Node Mysql N=3 W=2 R=2 100 Client Write Request 单个Node 15862 req/s 平均单次请求耗时 5ms 99.51% 请求耗时 50msNuclear - 应用性能01000000200000030000004000000500000060000001357911 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51timesClient Write QpstimesNuclear - 应用Nuclear Client APIGetparam keyparam dataIDparam consistencyLevelListparam keyparam Conditionparam consistencyLevelNextDataIDPutparam keyparam dataIDparam valueparam consistencyLevelReplace同 PutdataID可选Deleteparam keyparam dataIDparam consistencyLevelNuclear - 应用Code ExampleDataIDProtocol BufferNuclear - 应用Nuclear Manage ClientQPS查看Node接收请求总数Node处理请求耗时数据节点信息查看集群拓扑信息查看 动态更改节点处理线程数Nuclear - 展望Eventually ConsistentVector ClockAsync StoreRead CacheBalance MonitorBigTable ?Nuclear - 参考 Amazons Dynamo http:/ Cassandra http:/incubator.apache.org/cassandra/ Voldemort http:/project- 主创人员:冷昊人人网UGC团队 http:/Guideline人人网架构发展NuclearRoseRose是什么Rose人人网释出的开源Web开放框架(Java)主创:王志亮人人网架构组REST式Web开发基于Spring技术支持服务端portalRose的应用100%覆盖人人网Web网站首页、个人主页状态、日志、分享公共主页开放平台Rose的发展人人网支持全线使用不断更新稳定发布开源路线Wiki电子书Rose开发示例资源 假设有2个只读资源 GET /blog/251375230/459764084o这是一篇日志的URLo251375230是作者的IDo459764084是该日志的ID GET /blog/251375230o这是某个人的日志的URLo251375230是作者的IDRose开发示例控制器骨架package com.renren.blog.controllers.blog;ReqMapping(userId:0-9+)public class BlogController Get public String list(Param(userId) long userId) return blog-list; Get(entryId:0-9+) public String show( Param(userId) long userId, Param(entryId) long entryId) return blog-show; Rose开发示例视图文件骨架 根存放地址:webapp / views BlogController视图地址:webapp / views / blogoblog-list.jspoblog-show.vmRose开发示例model: 控制器-视图Autowired BlogService blogService; Get public String list(Invocation inv, Param(userId) long userId) List entries = blogService.findUserEntries(userId); inv.addModel(entries, entries); return blog-list; Rose开发示例使Autowired工作 实现步骤o创建com.renren.blog.service.BlogService及其实现o在WEB-INF下创建spring配置文件:applicationContext-blog.xmlo把BlogService实现配置到该文件中oBlogController将自动通过类型找到BlogService实例并注入(dependecy injection) autowired机制o在纯粹spring中默认是关闭的o在rose下默认是打开的,而且无法关闭Rose开发示例部署 在sourceFolder/META-INF/目录下创建rose.properties,写上rose=controllers,messages,applicationContext,dao jar包发布,确认rose.properties存在于目标jar的META-INF下 web.xml配置roseFilter roseFilter net.paoding.rose.RoseFilter roseFilter /* REQUEST FORWARD INCLUDE ./start.shRose其他特性 可扩展、可订制o参数解析器o参数验证器o拦截器o统一错误处理器 flash:在重定向前后传递信息 简单、可层级化的国际化支持 rose重量级插件:服务端portal技术 调试工具:/rose-info/jar、/rose-info/mapping等 jade项目集成:annotation式的DAORose - Statement开源化:使用Apache License, Version 2.0;通用化:不做只适合某个公司假设的事情;安全:不含法律、道德、业内所不允许行为的代码调试工具默认关闭;稳定发布:在人人网经受每日数亿访问冲击,稳定发布;支持:提供丰富的wiki、电子书(2010 Q2-Q3)公共主页:http:/ You!

注意事项

本文(人人网技术架构的演进)为本站会员(仙***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!