
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分层架构是目前大多数软件开发程序员在开发网站的时候都会用到的一个编程开发技术,下面我们就通过案例分析来简单了解一下,网站分层架构包含哪些层级结构。
1、网页缓存层
网页缓存层,比如CDN的租赁,专业CDN公司的Cache缓存服务都是自研的(底层开发一般是C语言),还需要区分磁盘缓存或内存缓存,另外还有针对小文件所做的优化,其效果比公司自行部署Squid、Varnish更好、更专业,BindView也需要精准细分,而且价格相当低廉,所覆盖的边缘节点也比较多,所以这里推荐采用CDN租赁的方式。
很多企业喜欢尝试自建CDN,这是一个比较吃力不讨好的活儿,未必能够达到预期目标,关于这点,架构师在架设网站初期就应该规划好,而不要等到网站流量及压力巨大时才去规划。
2、负载均衡层
建议将负载均衡分成两级来处理,一级是流量四层分发,二级是应用层面七层转发(即业务层面)。先我们可以通过LVS或HAProxy将流量转发给二层负载均衡(一般为Nginx),即实现了流量的负载均衡,此处可以使用如轮询、权重等调度算法来实现负载的转发;然后二层负载均衡会根据请求特征再将请求分发出去。
3、Web服务器层
Web服务器层压力比较大,大的网站现在都选择将Nginx作为Web主要应用服务器,事实上,Nginx在抗并发能力和稳定性方面确实超过了预期。另外,Linux集群还有一个优势,那就是它的高扩展性,特别是水平(横向)扩展。就算网站的并发连接数有10万以上,也无非是多加Web机器(廉价的PCServer也是可行的),或者通过Nginx+lua这种高性能的Web应用服务器来承担压力。在进行实际的线上维护时发现在高峰期间,实际上每台Web的并发并不算特别大,所以网站的压力在这一层也能通过技术手段加以克服。
4、文件服务器层
现在生产服务器使用的一般是如下的方案。
单NFS作为文件服务器,这样做的好处是维护方便,但存在单点故障的问题,NFS机器出现故障时需要人为手动干预。
NFS分组,虽然这样可以分摊压力,但这样做也会存在单点故障的问题,NFS机器出现故障时需要人为手动干预。
DRBD+Heartbeat+NFS高可用文件服务器,维护方便,也不存在单点故障的问题,但随着访问量的增大,后期一样也会存在压力过大的情况。
采用分布式文件系统。
对于静态内容,如CSS、JS、HTML还有图片文件,可以通过租赁CDN的方式来进行处理,将图片服务器独立出来,并分配独立域名。
5、数据库层
数据库的压力,网站的PV、UV、QPS和并发连接数增加以后,数据库这块的压力就是大的,归根结底还是磁盘的I/O压力大。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。