前端能力模型-负载均衡各种方式

负载均衡有以下几种方式:

一、基于客户端方式:

每个客户程序都具有一定的服务器集群的知识,进而把以负载均衡的方式将请求发到不同的服务器。这种方式比较原始,现在一些老系统还在使用这种方式,客户端简单的使用轮询实现负载均衡。这种方式的可靠性,可维护性都很低,加重客户端开发的难度。

结构图如下:

二、基于DNS(DNS服务器)

a. 根据客户端IP地域将域名解析到不同的真实服务器

b. 对同一区域的真实服务器,使用Round-Robin把域名轮流解析到不同的真实服务器

DNS做负载均衡简单方便,但DNS的缓存时间较长,一旦出现问题,更新DNS信息需要等待客户端数分钟甚至数十分钟,可靠性不高,负载均衡算法也不够灵活。

PS:南方客户每回询问DNS会被告知到不同的南方服务器IP,北方用户同理

三、HTTP重定向(服务端)

这是一种由服务端决定负载均衡的方法,服务器根据自身的负荷和用户的IP地域,将用户的请求使用HTTP 302重定向到其他服务器。

四、基于第三方应用

类似于DNS的方式,或者说DNS的负载均衡是这种方式的一种实现。这种方式需要一个第三方应用,它将作为整个系统中负载均衡的咨询师,服务器集群将自身的状态同步给第三方应用,客户端在发请求之前先询问第三方应用,在根据第三方应用的应答发出请求。这种方式具有高可定制性,但服务端和客户端都需要增加定制的客户端活API。

结构图如下:

五、基于数据链路层

这个是很底层的负载均衡,一般实现于网络设备硬件中。如交换机或路由,统计各个端口的负载做适当的转发。

六、基于传输层

在服务器集群前端有一台或数台高稳定性的负载均衡服务器,所有请求先到达负载均衡服务器,负载均衡服务器再使用Round-Robin等方式转发请求到真实服务器。

有三种IP负载均衡技术:VS/NAT、VS/DR、VS/TUN。

1)VS/NAT(Virtual Server via Network Address Translation):通过网络地址转换(Network Address Translation)将内部地址转化为Internets上可用的外部地址。

2)VSDR(Virtual Server via Direct Routing):通过直接路由实现虚拟服务器。与VS/TUN方法相同,VS/DR利用大多数Internet服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。

3)VS/TUN(Virtual Server via IP Tunneling):通过IP隧道实现虚拟服务器,将请求报文封装动态地转发给后端服务器,响应报文能从后端服务器直接返回给客户。因请求报文较短而响应报文往往包含大量的数据,可以大大降低负载均衡器的压力。所有的服务器必须支持“IP Tunneling"或者"IP Encapsulation"协议。

七、基于应用层

类似基于传输层的方式,但支持解析应用层数据,负载均衡算法较传输层方式更灵活,对于多个非重要小业务,可接入到同一IP。

八、基于运算

将负载的运算分隔成不同模块,分摊给不同集群节点分别计算以提升计算速度。如Hadoop。

这里每个都是单一点,实际项目中,经常是混合好几种技术来实现整体的负载均衡。

时间: 2024-07-31 14:26:50

前端能力模型-负载均衡各种方式的相关文章

nginx做前端反代负载均衡,后端httpd+tomcat

实验内容:用nginx做前端反代负载均衡后端httpd+tomcat 实验环境:物理机win7,虚拟机centos7: node1:172.18.11.111 httpd+tomcat node2:172.18.11.112 httpd+tomcat node3:172.18.11.113 nginx反代负载均衡 说明:httpd有两种方式与tomcat通信: (1)httpd可使用http模块反代tomcat,此时tomcat使用http链接器: (2)httpd还可使用ajp模块反代tomc

Nginx实现负载均衡的方式有哪几种呢?

什么是负载均衡 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃.为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力. 我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器.如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况. 负载均衡是用

负载均衡常用方式

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 一.HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向.通过重定向,来达到"负载均衡"的目标.例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址.

Web负载均衡实现方式(转)

Reference [1] https://www.cnblogs.com/eric-qin/p/7238278.html 负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询.IP负载均衡和CDN.其中IP负载均衡可以使用硬件设备或软件方式来实现. 什么是web负载均衡 服务器集群(Cluster)使得多个

结合Apache和Tomcat实现集群和负载均衡 JK 方式

本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵. 因原文中有较多的贴图,如若各位读者一时不想亲自动手而直想看到配置效果,可查看原文. 一:软件环境 1. Apache: apache 2.0.55 (由http://httpd.apache.org/进入下载)(点击下载apache 2.0.55) 2. Tomcat: Tomcat 5.5.25 (由http:/

案例15:avro 负载均衡的方式动态获取文件中内容

需求: 将131上产生的日志文件负载均衡到 132 和133机器上 如图: 配置132 机器和133机器 (相同)) arov.conf a1.sources = r1 a1.sinks = k1 a1.channels = c1     # Describe/configure the source a1.sources.r1.type = avro a1.sources.r1.bind =0.0.0.0 a1.sources.r1.port =41414       # Describe t

前端能力模型

前端开发的核心是HTML + CSS + JavaScript.本质上它们构成一个MVC框架,即HTML作为信息模型(Model),CSS控制样式(View),JavaScript负责调度数据和实现某种展现逻辑(Controller). HTML 1.标签的分类 标签表示一个元素 按性质划分: Block-Level和Inline-Level 按语义划分: Headings: h1, h2, h3, h4, h5, h6 Paragraphs: p Text Formatting: em, st

前端能力模型-动画类型及动画库的介绍

一.背景: 合适的动画不仅更能吸引人们的眼球,也能让你的应用体验更为流畅,而将动画的效果做到极致,才能让用户感到使用你的应用是一种享受,而不是觉得生硬和枯燥. 二.动画技术分类: 按技术类型来进行分类,分为三类:JS动画,CSS3动画,html5动画,接下来分别对三类动画进行讲解. 1)JS动画 通过一个定时器setInterval间隔来改变元素样式,动画结束时clearInterval即可.(早期类库:jquery.prototype.mootools) 优缺点: 优点:可控性很强,兼容性较好

Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session

Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制. 配置Tomcat1的server.xml 修改: Tomcat配置文件server.xml代码 <Engine name="Catalina" defaultHost="localhost"> 为: <Engine name="Catalina