专栏首页Java技术栈浅谈大型网站之负载均衡架构

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

概念

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

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

分类

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

1、链路负载均衡

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

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

2、集群负载均衡

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

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

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

3、操作系统负载均衡

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

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

本文分享自微信公众号 - Java技术栈(javastack),作者:javastack

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为啥国人喜欢Mybatis,而老外偏爱 Hibernate/JPA 呢?

    关于SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。

    Java技术栈
  • 前任写的代码太垃圾怎么办?

    一个已经有些年头的项目,几乎肯定可以看到——到处拷贝来拷贝去的代码,随处可见的拼写错误,头重脚轻的函数……再看一看当年的提交者,可能是公司里的元老,甚至是大bo...

    Java技术栈
  • JPA、Hibernate、Spring Data JPA 的关系,你懂吗?

    来源:https://my.oschina.net/u/3080373/blog/1828589

    Java技术栈
  • 负载均衡的分类及算法

    通过软件实现,例如我们熟悉的 Nginx(7层负载均衡) 和 LVS(4层负载均衡)。

    dys
  • 快速理解高性能HTTP服务端的负载均衡技术原理

    在一个典型的高并发、大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。HTTP负载均衡的本质上是将W...

    JackJiang
  • 分布式架构系列: 负载均衡技术详解

    面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机...

    马哥linux运维
  • Java程序员进阶笔记实操—大型网站架构技术之负载均衡详解(1)

    欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 面对大量用户访问、高并发请求,海量数据,可以使用...

    慕容千语
  • Java程序员进阶笔记实操—大型网站架构技术之负载均衡详解(1)

    欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。

    慕容千语
  • 高并发系统设计负载均衡架构

    一个系统发展初期,往往都是单机系统。应用和数据库在一台服务器上,随着业务的发展,访问量的增大,一台服务器性能就会出现天花板,往往已经难以支撑业务量了。这个时候就...

    用户1564362
  • 老曹眼中的负载均衡

    负载(load)一词起源于典型系统,指连接在电路中消耗电能的装置,负载(用电器)的功能是把电能转变为其他形式能。引申出来,一个是实体,一个转化。

    半吊子全栈工匠

扫码关注云+社区

领取腾讯云代金券