`
healthandbeauty
  • 浏览: 164784 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Web负载均衡的几种实现方式

阅读更多
摘要:
负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。


什么是web负载均衡
服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为:

高性能集群:将单个重负载的请求分散到多个节点进行处理,最后再将处理结果进行汇总
高可用集群:提高冗余单元,避免单点故障
负载均衡集群:将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。
一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展,避免纵向的升级换代。

本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。


基本原理
任何的负载均衡技术都要想办法建立某种一对多的映射机制: 一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。

这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。

采用不同的机制建立映射关系,可以形成不同的负载均衡技术,常见的包括:

DNS轮询
CDN

IP负载均衡


DNS
DNS轮询是最简单的负载均衡方式。以域名作为访问入口,通过配置多条DNS A记录使得请求可以分配到不同的服务器。

DNS轮询没有快速的健康检查机制,而且只支持WRR的调度策略导致负载很难“均衡”,通常用于要求不高的场景。 并且DNS轮询方式直接将服务器的真实地址暴露给用户,不利于服务器安全。


CDN
CDN(Content Delivery Network,内容分发网络)。通过发布机制将内容同步到大量的缓存节点,并在DNS服务器上进行扩展, 找到里用户最近的缓存节点作为服务提供节点。

因为很难自建大量的缓存节点,所以通常使用CDN运营商的服务。目前国内的服务商很少,而且按流量计费,价格也比较昂贵。

IP负载均衡
IP负载均衡是基于特定的TCP/IP技术实现的负载均衡。比如NAT、DR、Turning等。是最经常使用的方式。 关于其原理,可以参考另一篇文章:lvs中的负载均衡方式。

IP负载均衡可以使用硬件设备,也可以使用软件实现。硬件设备的主要产品是F5-BIG-IP-GTM(简称F5), 软件产品主要有LVS、HAProxy、NginX。其中LVS、HAProxy可以工作在4-7层,NginX工作在7层。关于三者的简单对比,可以参考这里。

硬件负载均衡设备可以将核心部分做成芯片,性能和稳定性更好,而且商用产品的可管理性、文档和服务都比较好。唯一的问题就是价格。

软件负载均衡通常是开源软件。自由度较高,但学习成本和管理成本会比较大。


F5
F5的全称是F5-BIG-IP-GTM,是最流行的硬件负载均衡设备,其并发能力达到百万级。F5的主要特性包括:

多链路的负载均衡和冗余

可以接入多条ISP链路,在链路之间实现负载均衡和高可用。

防火墙负载均衡

F5具有异构防火墙的负载均衡与故障自动排除能力。

服务器负载均衡

这是F5最主要的功能,F5可以配置针对所有的对外提供服务的服务器配置Virtual Server实现负载均衡、健康检查、回话保持等。

高可用

F5设备自身的冗余设计能够保证99.999%的正常运行时间,双机F5的故障切换时间为毫秒级。

使用F5可以配置整个集群的链路冗余和服务器冗余,提高可靠的健康检查机制,以保证高可用。

安全性

与防火墙类似,F5采用缺省拒绝策略,可以为任何站点增加额外的安全保护,防御普通网络攻击,包括DDoS、IP欺骗、SYN攻击、teartop和land攻击、ICMP攻击等。

易于管理

F5提供HTTPS、SSH、Telnet、SNMP等多种管理方式,包含详尽的实时报告和历史纪录报告。同时还提供二次开发包(i-Control)。

其他

F5还提供了SSL加速、软件升级、IP地址过滤、带宽控制等辅助功能。
0
4
分享到:
评论
1 楼 maoweiwer 2014-01-06  
说说具体的实现吧。比如使用nginx+Varnish整体来实现一个。

相关推荐

    常见的几种负载均衡详解

    在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。

    负载均衡解决方案设计设计.doc

    一、 用户需求 本案例公司中现有数量较多的服务器群: WEB网站服务器 4台 邮件服务器 2台 虚拟主机服务器 10台 应用服务器 2台 数据库 2台(双机+盘阵) 希望通过服务器负载均衡设备实现各服务器群的流量动态负载...

    简单了解Nginx七层负载均衡的几种调度算法

    这篇文章主要介绍了简单了解Nginx七层负载均衡的几种调度算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Nginx是一款轻量级的高性能web服务器,同时也是一...

    大型网站--负载均衡架构

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

    实战Nginx高性能Web服务器

    1、高性能Web服务器Nginx的配置与部署研究(1)Nginx简介及入门示例 内容:概述Nginx的背景知识和简单的入门实例。...内容:介绍 location 区段的模式匹配的几种基本方式(匹配符),以及优先级顺序,并提供实例分析。

    Web服务器负载均衡会话保持的研究 (2011年)

    负载均衡的集群环境中会话保持方法直接影响到动态网站运行的性能.对现有几种集群环境中会话保持的方法进行了研究,提出一种粘性会话服务器方法.通过比较测试,使用该方法系统性能随并发用户增加而下降的趋势不明显.

    基于区分服务的集群接纳控制和负载均衡算法 (2006年)

    针对日益增长的电子商务Web集群服务,该文以系统总实现价值率为目标,提出了一种新的基于区分服务的任务接纳与负载均衡两阶段有机结合的区分服务调度算法。该算法针对电子商务服务的特殊性,在考虑会话完整性的基础...

    Arthas(阿尔萨斯)是阿里巴巴开源的Java诊断工具,深受开发者喜爱.rar

    一、运行环境要求 Arthas支持JDK 1.6+,支持Linux/Mac/Windows,采用命令行交互模式,同时...16. Dubbo有哪几种负载均衡策略,默认是哪种? 随机、轮询、最少活跃、一致性哈希(相同参数的请求总是发到同一提供者)

    docker-serf-haproxy-loadbalancing:Serf haproxy 负载均衡设置

    Docker Serf-HAProxy 负载均衡目标是使用 docker 创建服务器配置,以动态发现新的 Web 服务器并将其绑定到 haproxy。技术: 经过几天的研究,我决定使用: HAProxy作为负载均衡器。 另一种方法是使用nginx ,但网上...

    haproxy-2.0.5_for_windows.rar

      7、HAProxy负载均衡算法具体有如下几种:      ①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;      ②static-rr,表示根据权重;      ③leastconn,表示最少连接者先...

    Tomcat实现session共享(session 会话复制)

    集群最有效的方案就是负载均衡,而实现负载均衡用户每一个请求都有可能被分配到不固定的服务器上,这样我们首先要解决session的统一来保证无论用户的请求被转发到哪个服务器上都能保证用户的正常使用,即需要实现...

    nginx v1.5.9 for windows

    2 在Windows下 只支持select和iocp两种网络IO模型 其中iocp模型虽然可以支持高并发连接 但目前版本的iocp只支持Web服务器(有的版本使用iocp作WEB服务器都跑不通) 不支持反向代理服务器 更不支持SSL连接;...

    服务器集群技术方案.doc

    服务器并行集群方式 集群有多台服务器构成,同时提供相同的应用,可以实现多台服务器之间的负载均衡 ,提供大访问量的应用需求,如Web访问及数据库等应用,服务器并行集群方式一般由应 用系统自身(如OracleRAC、...

    Session服务器配置指南与使用经验.doc

    所有Web程序都会使用Session保存数据. 使用独立的Session服务器可以解决负载均衡场景中的Session共享问题.本文介绍.NET平台下建立Session服务器的几种办法, 并介绍在使用Session时的各种经验和技巧。

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    1.5.2 负载均衡配置实例 1.5.3 防盗链配置实例 1.5.4 日志分割配置实例 1.6 Nginx性能优化技巧 1.6.1 编译安装过程优化 1.6.2 利用TCMalloc优化Nginx的性能 1.6.3 Nginx内核参数优化 1.7 实战Nginx与...

    高性能高并发服务器架构大全

    10、Web访问负载均衡 80 11、MogileFS 81  Craigslist 的数据库架构 81  Second Life 的数据拾零 82  eBay架构的思想金矿 84  一天十亿次的访问-eBay架构(一) 85  七种缓存使用武器 为网站应用和...

    Web渗透测试攻略(中)

    识别web服务器是为了尝试检索尽可能多的有关服务器的信息,有以下几点:服务器的名字和版本后台是否用了应用程序服务器后台用的数据库,数据库和服务器是不是在同一机器上是否使用反向代理负载均衡策略运用哪种程序...

    网络安全技术参数(1).docx

    为保证在多条外网线路情况下带宽的合理分配使用,设备必须支持多链路负载均衡,负载均衡可基于带宽、时延、负载等多种方式。为防止虚假应标,需提供设备配置界面截图; 支持线路过载保护功能,当某条外网线路拥塞时...

Global site tag (gtag.js) - Google Analytics