负载均衡的几种常用方式
理解负载均衡,必须先搞清楚正向代理和反向代理。
注:
正向代理,代理的是用户。
反向代理,代理的是服务器
什么是负载均衡
当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。
我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。
负载均衡是用反向代理的原理实现的。
1、轮询(默认)
每个请求 按时间顺序逐一分配 到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstreambackserver {server192168014;server192168015;}
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的
情况。
upstreambackserver {server192168014weight=3;server192168015weight=7;}
权重越高,在被访问的概率越大,如上例,分别是30%,70%。
3、上述方式存在一个问题就是说,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
我们可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstreambackserver{ip_hash;server192168014:88;server192168015:80;}
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstreambackserver {serverserver1;serverserver2;fair;}
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver { server squid1:3128; server squid2:3128; hash$request_uri; hash_method crc32;}123456
每个设备的状态设置为:
down 表示单前的server暂时不参与负载
weight 默认为1weight越大,负载的权重就越大。
max_fails:允许请求失败的次数默认为1当超过最大次数时,返回 proxy_next_upstream模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
配置实例:
#user nobody;worker_processes4;events {# 最大并发数worker_connections1024;}http{# 待选服务器列表upstream myproject{# ip_hash指令,将同一用户引入同一服务器。ip_hash; server125219424fail_timeout=60s; server172312183; } server{# 监听端口listen80;# 根目录下location / {# 选择哪个服务器列表proxy_pass http://myproject; } }
摘自https://wwwcnblogscom/lcword/p/12513155html
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
主要应用
1、DNS负载均衡 最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。
2、代理服务器负载均衡 使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。
3、地址转换网关负载均衡 支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。
云计算的核心技术有虚拟化、分布式文件系统、分布式数据库、资源管理技术、能耗管理技术、信息安全等。
资料扩展:
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
云计算指通过计算机网络(多指因特网)形成的计算能力极强的系统,可存储、集合相关资源并可按需配置,向用户提供个性化服务。
“云”实质上就是一个网络,狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以,“云”就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以。
负载均衡实际上是一种网络技术,主要是基于现有的网络结构,增加吞吐量加强网络数据处理能力、提高应用系统的灵活和可用性。它可以优化算法,支持轮询均衡(Round Robin)、最少连接数均衡(Least Connection)和Sourse IP 等转发策略,合理分配用户流量。同时后端HTTP、TCP健康检查,一旦发现后端服异常,自动暂停分发。正常后自动启用,保证可用性。当局部节点出现故障,其余节点仍可支持用户访问。消除单点故障,保障网站的可靠性。就是可以提升企业业务系统的响应速度、保证业务系统的安全稳定,提升业务平台的可靠性,提升业务系统的伸缩性。华云的负载均衡技术就做的很好,今年还获得了可信云本地负载均衡认证。
算法
提供多个WAN ports可作多种负载平衡算法则,企业可依需求自行设定负载平衡规则,而网络存取可参照所设定的规则,执行网络流量负载平衡导引。算法则有:
◎ 依序Round Robin
◎ 比重Weighted Round Robin
◎ 流量比例Traffic
◎ 使用者端User
◎ 应用类别Application
◎ 联机数量Session
◎ 服务类别Service
◎ 自动分配Auto Mode
Inbound Load Balancing
内建Inbound Load Balance 功能,可让企业透过多条ISP线路,提供给浏览者更实时、快速与稳定不断线的因特网在线服务;
Inbound负载平衡算法包括:Round Robin/ Weighted Round Robin/Auto Back Up;
功能
内建DNS服务器,可维护多个网域(domain),每个网域又可以新增多笔纪(A/CNAME/MX),达到Inbound Load Sharing的功能。
■Server Load Balancing
AboCom服务器负载均衡提供了服务级(端口)负载均衡及备援机制。主要用于合理分配企业对外服务器的访问请求,使得各服务器之间相互进行负载和备援。
AboCom服务器负载与服务器群集差异:
一旦有服务器故障,群集技术只对服务器的硬件是否正常工作进行检查;AboCom服务器负载则对应用服务端口进行检查,一旦服务器的该应用服务端口异常则自动将访问请求转移到正常的服务器进行响应。
■*** Trunk 负载均衡
支持同时在多条线路上建立***连接,并对其多条***线路进行负载。不仅提高了企业总部与分支机构的***访问速度,也解决了因某条ISP线路断线造成无法访问的问题。进行***负载均衡时***访问数据将同时在多条***线路上进传输。当一条***线路故障时,所有流量将自动切换到正常的***线路上进行传输。
QoS(带宽管理)
个人带宽管理:可实现每个人的网络带宽分配、管理,可以设置保证带宽用以保障个人应用不受整体环境影响。每日带宽配额:可以针对个人、群组或部门等分别设置带宽配额,这样可以合理利用带宽资源,杜绝资源的浪费,也杜绝员工干与工作无关的事,如看在线**,下载大容量文件资料等等。
内容过滤
网络信息过滤:采用关键字进行内容过滤,可保护内网不受色情、暴力、反动、迷信等信息的入侵和干扰。
聊天软件、P2P软件控制:可针对QQ、MSN、YAHOO、SKYPE、GOOGLE TALK等聊天通讯软件进行管控和限制,还可限制或禁止如BT、电驴、迅雷等P2P软件的使用。
SSL ***
提供最佳远程安全存取解决方案,企业仅需透过最熟悉的网络浏览器接口(Web Browser),即可轻松连接到企业内部网络;即使未携带企业管控的笔记型计算机,利用家用计算机、公用计算机、PDA等,甚至是通过无线局域网络,都不影响安全联机的建立。
其他功能
实时图形化统计分析:记录所有网络封包的进出流量信息,可用做网络使用监控及统计记录;提供事件警报 (Event Alert)及日志记录管理功能;
支持3A认证:Authentication、Authorization、Accounting,即认证、授权、审计;
交换机联合防御:利用指定交换机进行联合防护,提升整个网络的安全系数和安全强度;
HA双机热备:支持双机备援,防止设备故障造成网络瘫痪,提升整个网络的可靠性;
远程唤醒(Wake on Lan):远程启动计算机。 软/硬件
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。
一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
本地/全局
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。
本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。
全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。
全局负载均衡有以下的特点:
实现地理位置无关性,能够远距离为用户提供完全的透明服务。
除了能避免服务器、数据中心等的单点失效,也能避免由于ISP专线故障引起的单点失效。
解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量。 负载均衡有三种部署方式:路由模式、桥接模式、服务直接返回模式。路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。约30%的用户采用这种模式。
路由模式(推荐)
路由模式的部署方式如上图。服务器的网关必须设置成负载均衡机的LAN口地址,且与WAN口分署不同的逻辑网络。因此所有返回的流量也都经过负载均衡。这种方式对网络的改动小,能均衡任何下行流量。
桥接模式桥接模式配置简单,不改变现有网络。负载均衡的WAN口和LAN口分别连接上行设备和下行服务器。LAN口不需要配置IP(WAN口与LAN口是桥连接),所有的服务器与负载均衡均在同一逻辑网络中。参见下图:
由于这种安装方式容错性差,网络架构缺乏弹性,对广播风暴及其他生成树协议循环相关联的错误敏感,因此一般不推荐这种安装架构。
服务直接返回模式
如上图,这种安装方式负载均衡的LAN口不使用,WAN口与服务器在同一个网络中,互联网的客户端访问负载均衡的虚IP(VIP),虚IP对应负载均衡机的WAN口,负载均衡根据策略将流量分发到服务器上,服务器直接响应客户端的请求。因此对于客户端而言,响应他的IP不是负载均衡机的虚IP(VIP),而是服务器自身的IP地址。也就是说返回的流量是不经过负载均衡的。因此这种方式适用大流量高带宽要求的服务。 基础网络配置:
AX1000(config)#clock timezone Asia/Shanghai//设置时区
AX1000(config)#vlan 10//创建VLAN10
AX1000(config-vlan:10)# untagged ethernet 1 to 2//划分接口到VLAN10中
AX1000(config-vlan:10)# router-interface ve 10 //设置路由接口为Ve10,后面会给Ve10 配置地址的,这点和传统的二、三层交换不一样。
AX1000(config-vlan:10)# name “Web-Server-Outside”//也可以设置的备注
AX1000(config-vlan:10)#end//完成VLAN10的内容,和Cisco的命令一样。
AX1000(config)#vlan 20
AX1000(config-vlan:20)# untagged ethernet 3 to 4
AX1000(config-vlan:20)# router-interface ve 20
AX1000(config-vlan:20)# name “Web-Server-Inside”
AX1000(config-vlan:10)#end
AX1000(config)#interface ethernet 1//进入eth1口
AX1000(config-if:ethernet1)# enable //激活该接口
AX1000(config-if:ethernet1)# interface ethernet 2
AX1000(config-if:ethernet2)# enable
AX1000(config-if:ethernet2)#interface ethernet 3
AX1000(config-if:ethernet3)# enable
AX1000(config-if:ethernet3)#interface ethernet 4
AX1000(config-if:ethernet4)# enable
AX1000(config-if:ethernet4)#end
AX1000(config)#interface ve 10//进入Ve10接口并为其配置地址
AX1000(config-if:ve10)# ip address 1162551882 2552552550
AX1000(config-if:ve10)# ip nat outside//这和传统的路由交换设置一直,是需要做NAT处理的。
AX1000(config-if:ve10)#end
AX1000(config)#interface ve 20
AX1000(config-if:ve20)# ip address 19216811 2552552550
AX1000(config-if:ve20)# ip nat inside
AX1000(config-if:ve20)#end
首先添加服务器:
AX1000(config)#slbserver Web1192168111//添加服务器Web1,其IP地址为192168111
AX1000(config-real server)#port 80tcp//指定服务器开放的端口及端口类型
AX1000(config-real server-node port)#exit
AX1000(config-real server)#exit
AX1000(config)#slb server Web2192168112
AX1000(config-real server)#port 80tcp
AX1000(config-real server-node port)#end
检查添加的服务器状态是否正常:
AX1000#showslbserver //查看SLB信息
Total Number of Services configured: 2
Current = Current Connections, Total = Total Connections
Fwd-pkt = Forward packets, Rev-pkt = Reverse packets
Service Current Total Fwd-pkt Rev-pkt Peak-conn State
—————————————————————————————
Web1:80/tcp 0 0 0 0 0 Up
Web1: Total 0 0 0 0 0 Up
Web2:80/tcp 0 0 0 0 0 Up
Web2: Total 0 0 0 0 0 Up
发现全Up以后,则表示服务器的健康检查通过。
默认的健康检查方式是Ping检查服务器的存活状态。只有服务器状态为Up时,负载均衡器才会把会话分发给该服务器处理,从而最大可能性的保障用户的请求得到服务器的正常应答,这也是负载均衡器的基本功能之一。
在很多时候服务器作了安全策略,比如说防止Icmp的报文等等,就需要调整服务器的健康检查方式,具体内容后期提供。
创建服务组
AX1000(config)#slb service-group Webtcp
AX1000(config-slbsvc group)#member Web1:80
AX1000(config-slbsvc group)#member Web2:80
AX1000(config-slbsvc group)#end验证服务组工作正常
AX1000#show slb service-group
Total Number of Service Groups configured: 2
Current = Current Connections, Total = Total Connections
Fwd-p = Forward packets, Rev-p = Reverse packets
Peak-c = Peak connections
Service Group Name
Service Current Total Fwd-p Rev-p Peak-c
——————————————————————————-
Web State:All Up
Web1:80 0 0 0 0 0
Web2:80 0 0 0 0 0创建虚拟服务器:
其地址为:116255188235,即对外公布的真实的服务地址
AX1000(config)#slbvirtual-server VIP-WEB 116255188235//创建VIP
AX1000(config-slbvserver)#port 80http//指定VIP对公共用户开放的端口及端口类型,Web页面选择http
AX1000(config-slbvserver-vport)#service-group Web//该端口对应的服务组为Web
AX1000(config-slbvserver-vport)#end查看虚拟服务器状态
AX1000#showslbvirtual-server
Total Number of Virtual Services configured: 1
Virtual Server Name IP Current Total Request Response Peak
Service-Group Service connection connection packets packets connection
—————————————————————————————-
VIP-WEB(A) 116255188235 Up
port 80 http 0 0 0 0 0
Web 80/http 0 0 0 0 0
Total received conn attempts on this port: 0
域名的解析记录已设置为116255188235,所以只要直接访问即可看到效果。
验证:
AX1000#show session | in 116255188235//查看当前设备上访问116255188235的详细会话
Traffic Type Total
——————————————–
TCP Established 17
TCP Half Open 8
UDP 0
Non TCP/UDP IP sessions 0
Other 681295
Reverse NAT TCP 0
Reverse NAT UDP 0
Free Buff Count 0
Curr Free Conn 2031387
Conn Count 6926940
Conn Freed 6926870
TCP SYN Half Open 0
Conn SMP Alloc 103137
Conn SMP Free 102986
Conn SMP Aged 0
Conn Type 0 Available 6225920
Conn Type 1 Available 3112960
Conn Type 2 Available 2015155
Conn Type 3 Available 778240
Conn SMP Type 0 Available 6225920
Conn SMP Type 1 Available 3112960
Conn SMP Type 2 Available 1572712
Conn SMP Type 3 Available 778240
Prot Forward Source Forward Dest Reverse Source Reverse Dest Age Hash Flags
—————————————————————————————————————-
Tcp 110152232139:1927 116255188235:80 192168111:80 110152232139:80 0 1 OS
Tcp 110152232139:1927 116255188235:80 192168112:80 110152232139:80 0 1 OS
类型 源地址 目的地址服务器地址 服务器回报地址
在之前提到的OpenResty/Nginx的负载均衡当中,当服务器启动之后,upstream中的上游服务器就是固定死的了,做不到动态的变更。这里面说到的变更,其实更多指的是增加机器。因为当上游服务器不可用时,upstream会自动将服务器摘除,但是当新增服务器时,upstream就做不到了。传统的负载均衡办法,就是能是修改配置,然后重启服务。下面介绍一下动态负载均衡的方式,一种是通过动态重启服务;另外一种是通过代码的方式动态拉取服务器列表。
Consul是一个分布式服务注册与发现系统。这里面使用Consul来管理上游服务器,当服务器启动时将其注册到注册中心去,当服务关闭时从注册中心列表中剔除。这里面需要注意一点的是:当上游服务器关闭时,Consul本身不会自动从列表中剔除,而是需要在服务器关闭前主动向Consul发起删除服务。
Consul有以下特性:
通过Consul可以获取到upstream中的上游服务器列表,下面要做的事情就是生成upstream中的模板了。这里就需要用到Consul-templete,它可以使用HTTP长轮询实现变更触发和配置更改。从而可以根据Consul服务器列表动态生成配置文件,然后去重新启动OpenResty/Nginx即可。
Consul+Consul-templete 就如上面所说的,是一种监听服务器列表变更,然后动态生成upstream模板,重启服务器。
Consul-Server
笔者使用的是MAC,下面所进行的操作都是基于MAC系统的。首先需要安装Consul如下:
安装完成之后,可以通过如下命令启动Consul服务:
启动完成之后,可以通过如下地址:localhost:8500/ui。访问Consul的Web界面:
可以使用HTTP的方式向Consul注册一个服务:
Consul-template
Consul-template的作用是生成upstream配置模板,安装命令如下:
然后在nginxconf同级目录下创建moguhu_serverctmpl
重启OpenResty脚本如下:rebootsh
然后nginxconf配置如下:
上游服务器
上游服务器upstream中使用的是Spring Boot实现的,其核心代码如下所示:
笔者在实验时,Consul版本的问题,造成在JVM停止时,没有执行删除服务的操作。因此附上下面的pom依赖
测试验证
1、启动Consul
2、启动Consul-template
3、启动2台upstream服务器
然后你会发现在nginxconf的同级目录下生成了moguhu_serverconf文件,内容如下:
当手动停掉一台服务器时,配置又会变更为如下:
此时rebootsh脚本会自动触发执行,如下所示:
上面的方式实现动态负载均衡在配置较多的时候会有一些问题,比如配置较多时,OpenResty重启的速度就会变慢。所以通过Lua脚本的方式可以规避掉重启这一步骤。
使用Lua实现时,与上面的组件相比Consul-templete就不需要了。通过Consul的 http://127001:8500/v1/catalog/service/moguhu_server 接口就可以获取到服务的列表,如下所示:
这一方式当中主要就是OpenResty里面的相关配置。
OpenResty 配置
upstreamslua
nginxconf
上面通过balancer_by_lua_block去动态的设置了,upstream的服务器列表。然后启动OpenResty就可以了。
参考:《亿级流量网站架构核心技术》
负载均衡(Load Balance) 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。 针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。 负载均衡技术主要应用 1、DNS负载均衡 最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。 2、代理服务器负载均衡 使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。 3、地址转换网关负载均衡 支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。 4、协议内部支持负载均衡 除了这三种负载均衡方式之外,有的协议内部支持与负载均衡相关的功能,例如HTTP协议中的重定向能力等,HTTP运行于TCP连接的最高层。 5、NAT负载均衡 NAT(Network Address Translation 网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。 6、反向代理负载均衡 普通代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。 7、混合型负载均衡 在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,我们可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。我们将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。
0条评论