




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人人网技术架构介绍,人人网黄晶,Guideline,人人网架构发展NuclearRose,架构发展,2006LetsGetitstartedResinProMySQLInnoDB主从结构单Storage+Squid,架构发展,2007突飞猛进LVSResinWeb集群大量使用Memcached中间层,基于ICEMySQL集群,垂直分区简单分布式StorageLucence搜索,架构发展,2008继续突破开放API,SOAMySQL集群,水平分区加强监控和安全DFS,龙存,架构发展,20092010稳健发展紧耦合=松耦合,SOAGracefuldegradationMySQL=NoSQL多数据中心,可扩展,灾备关注TCO,Guideline,人人网架构发展NuclearRose,Nuclear功能,分布式key-value存储数据自动复制到多个节点数据自动分区到不同节点存储容量无限扩展CAP-CA,Nuclear-CAP,可用性永远可写入(HintedHandoff)不存在单点风险,Nuclear-CAP,多一致性选项DISCARDMINQUOROMDISCARDUOROMALL提供最终一致性EventuallyConsistent,Nuclear-Overview,Nuclear-原理,构建NIONettyProtocolBuffersSpring富数据模型Key=List弱结构化查询,Nuclear-原理,分区HashRing,NodeA06148914691236517205NodeB614891469123651720512297829382473034410NodeC1229782938247303441018446744073709551616,Nuclear-原理,增加节点,NodeN03074457345618258602NodeA30744573456182586026148914691236517205NodeB614891469123651720512297829382473034410NodeC1229782938247303441018446744073709551616,Nuclear-原理,增加节点,Ac,a,b,c,a,bBa,b,c,a,b,cCb,c,a,b,c,a,Nc,n,b,c,a,bAn,a,c,n,b,cBa,b,n,a,c,nCb,c,a,b,n,a,Aa,b=NBb,c=NCc,n=N,Nuclear-原理,替换节点,Ad,a,c,d,b,cBa,b,d,a,c,dCb,c,a,b,d,aDc,d,b,c,a,b,Nd,n,c,d,b,cBn,b,d,n,c,dCb,c,n,b,d,nDc,d,b,c,n,b,Bd,a=NCb,c=NDc,d=N,Nuclear-原理,删除节点,Ad,a,c,d,b,cBa,b,d,a,c,dCb,c,a,b,d,aDc,d,b,c,a,b,Bd,b,c,d,b,cCb,c,d,b,c,dDc,d,b,c,d,b,Cb,c=BDc,d=CBd,a=D,Nuclear-原理,节点状态迁移图,Nuclear-原理,Consistency和NWRW+RNW=2R=2N=3系统保障最终的一致性MerkleTree,Nuclear-应用,系统组件普通节点(Node)接收Client请求提供数据存储中心节点(Seed)维护整个NuclearInstance的拓扑关系健康检测客户端(NuclearClient)提供CRUDAPI,Nuclear-应用,NuclearInstance,NodeA,NodeB,NodeZ,Seed,ClientRequest,Nuclear-应用,节点变更增加shnode.shnewA删除deletenodeA(manage.sh)替换replaceA,Nuclear-应用,性能单节点处理最高2.5Wreq/s典型应用环境:4NodeMysqlN=3W=2R=2100ClientWriteRequest单个Node15862req/s平均单次请求耗时5ms99.51%请求耗时视图AutowiredBlogServiceblogService;GetpublicStringlist(Invocationinv,Param(userId)longuserId)Listentries=blogService.findUserEntries(userId);inv.addModel(entries,entries);returnblog-list;,Rose开发示例,使Autowired工作实现步骤创建com.renren.blog.service.BlogService及其实现在WEB-INF下创建spring配置文件:applicationContext-blog.xml把BlogService实现配置到该文件中BlogController将自动通过类型找到BlogService实例并注入(dependecyinjection)autowired机制在纯粹spring中默认是关闭的在rose下默认是打开的,而且无法关闭,Rose开发示例,部署在sourceFolder/META-INF/目录下创建perties,写上rose=controllers,messages,applicationContext,daojar包发布,确认perties存在于目标jar的META-INF下web.xml配置roseFilterroseFilternet.paoding.rose.RoseFilterroseFilter/*REQUESTFORWARDINCLUDE./start.sh,Rose其他特性,可扩展、可订制参数解析器参数验证器拦截器统一错误处理器flash:在重定向前后传递信息简单、可层级化的国际化支持rose重量级插件:服务端portal技术调试工具:/rose-info/jar、/rose-info/mapping等jade项目集成:annotation式的DAO,Rose-Statement,开源化:使用ApacheLi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物科技行业创新技术与市场前景研究报告
- 2025年医疗器械行业技术变革及市场前景研究报告
- 2025年智慧农业行业农业物联网技术发展前景分析报告
- 2025年区块链技术行业应用前景分析报告
- 商场员工安全培训通讯稿课件
- 2025年汽车行业新能源技术发展前景研究报告
- 2025年区块链技术在物流行业的应用前景分析报告
- 巴彦淖尔市2025内蒙古巴彦淖尔市直属乌兰牧骑(市歌舞剧院)招聘事业编制演职人员笔试历年参考题库附带答案详解
- 国家事业单位招聘2025国家农业农村部食物与营养发展研究所招聘笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国农业科学院蔬菜花卉研究所招聘编外财务人员1人笔试历年参考题库附带答案详解
- 2024年连云港东海县招聘社区工作者真题
- (零模)南昌市2025年高三年级九月测试语文试卷(含标准答案)
- 燃料电池催化剂研究报告
- 湖北省华大新高考联盟2026届高三上学期9月教学质量测评语文试题(含答案)
- 人工智能应用技术-教学大纲
- 虚拟货币挖矿管理办法
- 2025重庆市涪陵区马武镇人民政府选聘本土人才1人考试参考试题及答案解析
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- DB3302T1135-2022新建小区室内公共体育设施配置和管理规范
- 2025年装载机行业当前竞争格局与未来发展趋势分析报告
- 2025年飞行服务站无人机培训行业现状分析报告
评论
0/150
提交评论