先说一句糙理不糙的话,一切不以实际业务为基础的架构都是扯淡。所以在网站架构时,我们首先要考虑的是网站的承载量是多少。 架构的理念是:就是不断找到系统的瓶颈和弱点,采用分而治之、缓存、异步等手段逐渐化解,并平衡处理系统各项要求(性能、安全、可用性、伸缩性、扩展性…)的过程。由此形成了架构。 要理解分而治之,就需要理解都走了那些部分,通常的访问顺序是这样:浏览器发出请求->DNS解析域名->浏览器连接服务器->服务器访问数据库->服务器计算数据结果->返回数据给浏览器。 这样我们就明白了我们网站需要优化的各个部分。每个部分都有增加扩展、分解流量的机会,所以我们的架构就产生了。 先大体说一下各个部分的方案 DNS解析域名,可以智能化解析到不同的地域,不同的服务器区域,就近分配计算资源。 浏览器连接服务器,可以使用负载均衡、反向代理等技术,接入服务器集群,把访问分散到不同的设备上,却可以返回同样的结果。 服务器访问数据库,可以根据数据库读多写少的现象,做读写分离。还可以采用NoSQL应用,缓存热点数据,可以分割业务区块,缓解数据库访问的压力。再后面还可以做访问代理,数据存储集群化。 服务器计算数据结果,可以采用合适的语言和技术,适度缓存数据。可以采用消息队列、RPC,异步处理,平滑访问洪峰。 返回数据给浏览器,系统可以加CDN,静态资源就近访问。可以大力使用浏览器缓存手段,规避不需要的更新和访问需要
查看原文:http://www.architecy.com/archives/312
网站架构--分而治之解决网站瓶颈
最新推荐文章于 2024-06-05 22:29:07 发布