大型web程序架构阶段(The 7 Stages of Scaling Web Apps)

本文概述了大型Web应用从初始部署到面临各种挑战直至成熟过程中经历的七个关键阶段。这些阶段包括简单的初始架构、逐步增加容量、面对增长带来的痛苦并进行调整、深入重构以应对更大规模挑战、直至最终进入未知领域解决新出现的问题。

原文地址:http://highscalability.com/7-stages-scaling-web-apps
标题:The 7 Stages of Scaling Web Apps
翻译:大型web程序架构阶段
* Stage 1 - The Beginning: Simple architecture, low complexity. no redundancy. Firewall, load balancer, a pair of web servers, database server, and internal storage.
第一个阶段:开始,架构简单,低复杂度,防火墙,负载均衡,一些web服务器,数据 库服务器,内部存储服务器。
* Stage 2 - More of the same, just bigger.
第二个阶段:更多的上面的系统设置。
* Stage 3 - The Pain Begins: publicity hits. Use reverse proxy, cache static content, load balancers, more databases, re-coding.
第三个阶段:痛苦开始,使用反向代理,缓存 静态内容,负载均衡,更多数据 库,代码重构。
* Stage 4 - The Pain Intensifies: caching with memcached , writes overload and replication takes too long, start database partitioning, shared storage makes sense for content, significant re-architecting for DB.
第四个阶段:痛苦继续,使用memcached 缓存 数据 库,数据 写以及发布占用时间长,开始数据 库分区,重新架构数据 库。
* Stage 5 - This Really Hurts!: rethink entire application, partition on geography user ID, etc, create user clusters, using hashing scheme for locating which user belongs to which cluster.
第五个阶段:要害处。重新思考整个项目,按照全局用户ID分区,创建用户集群,使用Hash确定用户属于哪个Cluster.
* Stage 6 - Getting a little less painful: scalable application and database architecture, acceptable performance, starting to add ne features again, optimizing some code, still growing but manageable.
第六个阶段:痛苦略微。大型应用程序以及数据 库架构,可接受的性能,开始添加新的特性,优化代码。
* Stage 7 - Entering the unknown: where are the remaining bottlenecks (power, space, bandwidth, CDN, firewall, load balancer, storage, people, process, database), all eggs in one basked (single datacenter, single instance of data).
第七个阶段:进入未知状态。哪里是瓶颈?(电力,空间,带宽,CDN,防火墙,负载均衡,存储,员工,处理,数据 库)。(简单数据 中心)。

 

===============================================================

===============================================================

<!-- google_ad_section_start -->

By John Engales CTO, Rackspace. Good presentation of the stages a typical successful website goes through:
* Stage 1 - The Beginning: Simple architecture, low complexity. no redundancy. Firewall, load balancer, a pair of web servers, database server, and internal storage.
* Stage 2 - More of the same, just bigger.
* Stage 3 - The Pain Begins: publicity hits. Use reverse proxy, cache static content, load balancers, more databases, re-coding.
* Stage 4 - The Pain Intensifies: caching with memcached, writes overload and replication takes too long, start database partitioning, shared storage makes sense for content, significant re-architecting for DB.
* Stage 5 - This Really Hurts!: rethink entire application, partition on geography user ID, etc, create user clusters, using hashing scheme for locating which user belongs to which cluster.
* Stage 6 - Getting a little less painful: scalable application and database architecture, acceptable performance, starting to add ne features again, optimizing some code, still growing but manageable.
* Stage 7 - Entering the unknown: where are the remaining bottlenecks (power, space, bandwidth, CDN , firewall, load balancer, storage, people, process, database), all eggs in one basked (single datacenter, single instance of data).

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值