人人网Rose架构演进:从Resin到Nuclear
需积分: 15 126 浏览量
更新于2024-08-18
收藏 1.34MB PPT 举报
"Rose的发展-人人网架构"
人人网作为中国早期的社交网络平台,其技术架构的发展历程代表了互联网企业应对用户量激增、业务复杂度提升的挑战时所采取的技术演进策略。从2006年开始,人人网的技术架构经历了多次迭代和优化,以满足不断增长的用户需求和业务场景。
在早期,人人网采用的是Resin Pro作为Web服务器,配合MySQL InnoDB主从结构来处理数据存储。随着用户量的增加,单一的Storage加上Squid缓存系统无法满足需求,因此在2007年,人人网引入了LVS(Linux Virtual Server)和Resin Web集群,以实现负载均衡和性能提升。同时,大规模使用Memcached来缓存热数据,减少数据库的压力,并开始使用ICE框架构建中间层。在数据库方面,采用了垂直分区策略,实现了简单分布式Storage,并引入Lucene进行全文检索。
2008年,人人网进一步向SOA(Service-Oriented Architecture)架构转型,开放API,实现服务化,同时在MySQL集群上应用了水平分区,增强了系统的扩展性。监控和安全性得到了加强,还引入了DFS(Distributed File System)如龙存,以满足大数据存储的需求。
2009至2010年,人人网的技术架构更加成熟,从紧耦合转向松耦合,持续优化SOA,实现优雅降级(Graceful Degradation)。在这个阶段,人人网开始探索NoSQL解决方案,以应对大规模数据处理的挑战,同时建立了多数据中心,实现可扩展性和灾备能力,注重降低总体拥有成本(TCO)。
在架构的演进过程中,Rose系统应运而生。Rose是人人网自研的分布式键值存储系统,它具有数据自动复制和分区到不同节点的能力,以实现存储容量的无限扩展。Rose遵循CAP理论,但在可用性和一致性之间选择了较高的可用性,通过Hinted Handoff保证写入的可靠性,避免单点故障。Rose提供了多种一致性选项,如DISCARD、MIN、QUORUM、DISCARD_QUORUM和ALL,支持最终一致性模型。在系统构建上,Rose使用了NIO(Non-blocking Input/Output)、Protocol Buffers进行高效通信,Spring框架进行服务管理,以及富数据模型,支持弱结构化的查询。
分区策略上,Rose使用了HashRing算法,通过哈希函数将数据分布到不同的节点上,随着节点的增加,数据能够平滑地迁移,确保系统的线性扩展性。这种设计使得Rose能够灵活适应业务增长,有效支撑人人网的海量用户和服务。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-09-17 上传
点击了解资源详情
点击了解资源详情
2024-11-19 上传
2024-11-19 上传
无不散席
- 粉丝: 32
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析