可扩展架构之用户规模影响设计
2011-04-05 21:28
225 查看
看了timyang的qcon2010演讲内容后,做下备忘记录。
用户规模影响设计,具体是指用户数每上一个数量级,许多设计需要重新考虑。
10万用户级别
单服务器,前端、后端、cache、db在一起。
百万级
db和cache单独部署服务器,db或按业务进行拆分(sharding)
cache或使用一致性hash扩展。
前端后端还是在一起,但是根据业务拆分,每个业务可分配不同数量的服务器
千万级
开始重视架构设计,有专门技术架构师
需跨机房部署,前端在远程增加反向代理加速,数据库在异地机房使用slave数据库副本
后端拆分出来,系统内部需要远程调用,内部需远程调用协议。
亿级
架构更细分,或增加数据架构师,cache架构师,分布式架构师
数据库sharding碰到烦恼,开始考虑分布式数据服务
数据访问需要根据业务特点细分。
开发、运维、测量、调优具备有自己的专有工具。
所有服务需要地理多机房分布,具备IDC容灾设计。
服务可降级
上面的数字仅供理解“用户规模影响设计”,数字本身并无具体指导价值。
总结了一下以前做过的一个电子商务网站,基本上做到了timyang说的百万级的技术要求,但实际上用户量并没有达到这个数量级。前端nginx负载+分前后端应用(通过远程协议)+memcached+mysql读写分离。所以性能有待进一步研究。但从技术细节上看基本可以满足可扩展的要求,未来增加机器就行。但在查询和缓存方面有待提高。
用户规模影响设计,具体是指用户数每上一个数量级,许多设计需要重新考虑。
10万用户级别
单服务器,前端、后端、cache、db在一起。
百万级
db和cache单独部署服务器,db或按业务进行拆分(sharding)
cache或使用一致性hash扩展。
前端后端还是在一起,但是根据业务拆分,每个业务可分配不同数量的服务器
千万级
开始重视架构设计,有专门技术架构师
需跨机房部署,前端在远程增加反向代理加速,数据库在异地机房使用slave数据库副本
后端拆分出来,系统内部需要远程调用,内部需远程调用协议。
亿级
架构更细分,或增加数据架构师,cache架构师,分布式架构师
数据库sharding碰到烦恼,开始考虑分布式数据服务
数据访问需要根据业务特点细分。
开发、运维、测量、调优具备有自己的专有工具。
所有服务需要地理多机房分布,具备IDC容灾设计。
服务可降级
上面的数字仅供理解“用户规模影响设计”,数字本身并无具体指导价值。
总结了一下以前做过的一个电子商务网站,基本上做到了timyang说的百万级的技术要求,但实际上用户量并没有达到这个数量级。前端nginx负载+分前后端应用(通过远程协议)+memcached+mysql读写分离。所以性能有待进一步研究。但从技术细节上看基本可以满足可扩展的要求,未来增加机器就行。但在查询和缓存方面有待提高。
相关文章推荐
- 用户规模影响设计
- 用户规模影响设计
- 扩展RBAC用户角色权限设计方案
- 用户行为统计分析系统架构设计
- 扩展RBAC用户角色权限设计方案
- 扩展RBAC用户角色权限设计方案
- 软件架构————程序规模对构建的影响
- 关于可扩展的web架构设计的探索-框架结构的描述文件
- 架构设计备注(用户以及操作权限管理)
- 苹果也躺枪!5个严重影响用户体验的设计问题
- 关于可扩展的web架构设计的探索-框架结构的描述文件
- [转]扩展RBAC用户角色权限设计方案
- 【转载】"变化"、"复用"、"抽象"、"稳定" 影响着软件设计模式,架构,开发方法
- 高性能可扩展mysql(用户模块设计,分区表使用)
- 架构之美—需求审核直接影响设计成败(2)
- 扩展RBAC用户角色权限设计方案
- 一套海量在线用户的移动端IM架构设计实践分享(含详细图文)
- 【架构设计】之前传——变态的用户需求
- 影响用户体验的Web设计有哪些
- 微信公号“架构师之路”学习笔记(二)-高可用高并发负载均衡的架构设计(冗余+自动故障转移、水平扩展等)