`
- 浏览:
168033 次
- 性别:
- 来自:
西安
-
摘要:
负载均衡(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
F
5的全称是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地址过滤、带宽控制等辅助功能。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
实现Web服务器负载均衡的方式有多种,例如: - **反向代理**:负载均衡器作为服务器的“代理”,接收来自客户端的请求并转发给后端服务器,隐藏了真实服务器的信息。 - **DNS轮询**:通过DNS服务器对多个IP地址...
本文提供了一种实现负载均衡集群的方法,可以提高服务器的性能和可靠性,为企业提供了一种可靠的解决方案。 知识点: 1. 负载均衡集群的概念和优点 2. Tomcat 和 Apache 的局限性 3. 负载均衡算法的选择 4. 集群...
"常见的几种负载均衡详解" 负载均衡是指通过某种技术手段,使得多个服务器组成一个高性能、高可用的虚拟服务器,以满足网络服务的高并发和高可用性需求。在实现虚拟网络服务的相关技术中,负载均衡技术是其中的一种...
负载均衡的实现方法有几种: 1.最简单的是通过 DNS,但只能实现简单的轮流分配,也不能处理故障。 2.如果是基于 MS IIS,Windows 2003 Server 本身就带了负载均衡服务。但这一服务也只是轮流分配。 3.硬件方式,...
本文介绍了几种常见的负载均衡算法,并重点讨论了一种改进的动态反馈负载均衡算法。该算法通过实时监控服务器的性能指标,实现了对用户请求的智能调度,有效提高了集群的整体性能。未来的研究方向可以进一步探索如何...
常见的负载均衡算法有很多,下面将对几种典型的负载均衡算法进行介绍。 一、HASH 算法 HASH 算法是一种简单的负载均衡算法,它将请求的 ID 值进行 HASH 操作,然后将其映射到对应的服务器上。在 Baidu 的服务中,...
在 Linux 平台上实现负载均衡系统需要考虑以下几个方面: 1. 选择合适的负载均衡算法,以确保系统的高可用性和高可伸缩性。 2. 设计合适的服务器集群架构,以确保系统的高可用性和高可伸缩性。 3. 实现虚拟IP技术,...
Keepalived+Nginx 实现高可用 Web 负载均衡 Keepalived 是一种高性能的服务器高可用或热备解决方案,可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议...
在`nginx`中配置负载均衡主要有以下几种策略: 1. **轮询(round-robin)**:每个请求按顺序分配给不同的服务器,如果服务器队列循环一圈,则重新开始。这是最基础的策略。 2. **权重轮询(weighted round-robin)...
总结来说,Windows环境下配置Nginx实现负载均衡集群主要包括以下几个步骤: 1. 安装Nginx for Windows。 2. 修改Nginx配置文件,设置监听端口和上游服务器组。 3. 配置负载均衡策略。 4. 重启Nginx服务。 5. 在Web...
首先,我们来探讨几种常见的负载均衡算法。轮循均衡(Round Robin)是最基本的负载均衡方式,它通过依次分配请求给后端服务器来实现简单的负载分配。当服务器的处理能力大致相同时,轮循均衡能够较公平地分配请求,...
在软件负载均衡方案中,除了LVS,还有其他几种实现方式: 1. URL重定向:通过修改HTTP请求的URL,将流量导向不同的服务器,适用于Web服务场景。 2. 基于DNS的负载均衡:通过DNS服务器动态返回不同后端服务器的IP...
在WebLogic 8.1中,实现负载均衡有几种策略: 1. **基于RMI的负载均衡**:这是默认的负载均衡策略,它通过Java Remote Method Invocation (RMI) 来分发请求。每个服务器实例都注册到全局JNDI树中,客户端根据JNDI...
本文将从以下几个方面详细介绍 Nginx+Tomcat 实现负载均衡的知识点: 一、负载均衡的概念和优势 负载均衡(Load Balancing)是指在多台服务器之间分配工作负载,以提高响应速度、可用性和可扩展性的一种技术。其...
随着技术的发展,LVS集群作为一种成熟的负载均衡解决方案,已经被广泛应用于多种互联网服务中,如Web服务器、数据库服务器、邮件服务器等。它通过提供灵活的配置和强大的功能,帮助企业在快速增长的网络环境下,实现...
本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`session`共享。 首先,我们要理解负载均衡的基本概念。负载均衡是通过将工作负载分散到多个计算资源,以优化资源使用、最大化吞吐量、最小化...