浅谈大型网站之负载均衡架构

概念

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

分类

一般有以下3种类型的负载均衡架构

1、链路负载均衡

链路负载均衡就是一般讲的DNS轮循负载均衡,负载均衡是由DNS动态解析成不同的IP完成的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。

DNS负载均衡虽然是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态,如果某一台服务器挂掉了,即这个域名不能被访问,整个网站也就瘫痪了,后果是可想而知的。

2、集群负载均衡

集群负载均衡是目前比较广泛使用的负载均衡方式,主要分为硬件层和软件层的负载均衡。

硬件负载均衡就是像F5这样的负载均衡设备,通过负载均衡硬件设备来分发用户的请求。硬件负载均衡性能特别好,但同时价格也非常昂贵,一般小公司用不起的,还有硬件负载均衡也不能动态扩容,当然这不够成问题。

软件负载均衡就是现在使用最多较为普遍的一种负载均衡方式,主要就是软件成本相对硬件来说成本比较低,直接购买普通的服务器就能搭建软件负载均衡,但如果软件负载均衡需要经过的代理服务器比较多也会带来网络延迟等问题。常见的软件负载均衡包括工作在TCP第四层的LVS,即在网络层进行IP地址分发,然后还有工作在TCP第7层的HaProxy、Nginx等根据用户访问信息(如:域名、Cookie等信息)分发到不同的服务器。

3、操作系统负载均衡

操作系统负载均衡就是通过利用操作系统级别的软中断和硬中断来达到负载均衡,比如可以设置多队列的网卡来实现等,这种负载均衡一般不会用到。

这几种负载均衡方式在CDN、分布式WEB服务、分布式数据集群中都能用到。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/619453

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。