实现负债均衡的方式与负债均衡算法
实现负债均衡方式
1.http重定向负载均衡
http重定向服务器是通过通过一台普通的负债均衡服务器在在接受到浏览器的请求时,根据负债均衡算法,得到服务器集群中实际的服务器ip,构造一台实际服务器的ip地址的重定向响应返回给浏览器,浏览器自动访问实际物理服务器来完成访问,http重定向负债均衡的好处是,浏览器可以直接与物理服务器交互,以达到最大网络吞吐量,可以做到不受限制带宽与真实服务器交互, 缺点是访问到系统的时候需要两次请求,性能较差,重定向服务器自身的处理能力可能会成为一个瓶颈,整个集群的伸缩性规模有限,而且使用http302响应码重定向,有可能使搜索引擎判断为seo作弊,降低搜索排名,实际中使用重定向做负载均衡的案例并不多见。
2.反响代理负载均衡
反向代理服务器管理着一组web服务器,当浏览器向负载均衡服务器发起请求的时候,负载均衡服务器通过负载均衡算法发到不同的web服务器上,web服务器处理完请求需要通过负载均衡服务器返回给浏览器,web服务器集群可以不与外网连接,只需要负载均衡服务器对外连接就行,因此对于安全性可以得到很大的控制。反向代理负载均衡优点在于反向代理服务器转发请求在http协议层面,因此也叫应用层的负载均衡,和反向代理服务器功能集成在一起,部署简单。缺点是在于所有的请求都要通过反向代理服务器,因此这也可能成为其瓶颈。
3.数据链路层负债均衡
数据链路层负载均衡是指在通信协议的数据链路层修改mac地址进行负载均衡。服务器集群中所有的ip地址都一样的,包括负载均衡服务器,当浏览器对负载均衡服务器发起请求的时候,负载均衡服务器通过负载均衡算法得到真实服务器的mac地址,把请求数据的目的mac地址改成计算得到的,从而达到了不修改数据包的目标地址,由于微博服务器集群所有服务器的虚拟ip地址都和负载均衡服务器的ip地址相同,因此数据可以正常传输到达通过算法计算得到的mac地址对应的服务器,该服务器处理完请求之后发送响应数据到网站的网关服务器网管服务器直接将数据包发送到浏览器,相应数据不需要通过负载均衡服务器。
这种数据传输模式也称为三角传输模式,首先所有服务器包括负载均衡服务器都用同一个虚拟ip,浏览器到负载均衡服务器,负债均衡服务器通过算法得到mac地址,将请求数据包的mac地址修改掉,并不需要修改IP地址,然后通过mac地址请求到实际服务器,再由实际服务器返回给网关在到达浏览器。使用三角传输模式的链路层负载均衡是目前大型网站系统使用最广的一种负载均衡手段。在Linux平台上最好的链路层负债均衡开源产品是LVS(Linux Virtual Server).
负债均衡算法
负债均衡服务器实现可以分为两个部分
1.根据负载均衡算饭和web服务器列表计算得到集群中一台web服务器的地址。
2.将请求数据发送到该地址对应的web服务器上
具体的负载均衡算法
1.轮询(Round Robin, RR)
所有请求一次被分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同,适合于所有服务器硬件都相同的场景。
2.加强轮询(Weighted Round Robin, WRR)
根据应用服务器硬件性能情况,在轮询的基础上,按照配置上的权重将请求分发到每个服务器上,高性能的服务器能分配更多请求。
3.随机(Random)
请求随机分配到各个应用服务器,在许多场合下,这种方案简单使用,因为好的随机数本身就很均衡。即使应用服务器配置不同,也可以使用加权随机算法。
4.最少连接(Least Connections)
记录每个应用服务器正在处理的连接数(请求书),的将新到的请求分发到最少连接的服务器上,应该说,这是最符合负载均衡定义的算法,同样最少连接算法也可以实现加权最少连接。
5.原地址散列(Source Hashing)
根据来源的ip地址进行hash计算,得到应用服务器,这样来之同一个ip地址的请求总在同一个服务器上处理,该请求上下文信息可以存储到这台服务器上,在一个会话周期内重复使用,从而实现会话粘滞。
实现负债均衡的方式与负债均衡算法相关推荐
- Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(3)
1.什么是负载均衡 先来个官方的解释. 维基百科对负载均衡的定义:负载均衡改善了跨多个计算资源(例如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动的的工作负载分布.负载平衡旨在优化资源使用,最大 ...
- 负载均衡的几种方式_负载均衡的几种方式
负载均衡其实就是任务的分发,使得任务能按照你的预想分配到各个计算单元上,它能提高服务对外的性能,避免单点失效场景.这里要注意的一点是虽说叫负载均衡,但是有时候我们的分配算法就是不是均衡的. 比如配个n ...
- linux负载均衡(什么是负载均衡)
linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...
- f5 会话保持 负载均衡_四层负载均衡和七层负载均衡区别在哪里?
年后至今这段时间工作重心都在调整公司现有API Gateway的系统架构以及对现有技术栈选型.经过对主流互联网网关所实现各种方案的调研,我们在API Gateway前置一层接入层,接入层主要用于实现限 ...
- 深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现
一.LVS集群常见架构图 Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成.LVS核心模板IPVS就安装在Director Serv ...
- 四层负载均衡和七层负载均衡的区别
四层负载均衡和七层负载均衡的区别 1. 四层负责均衡:是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器与请求客户端建立TCP连接,然后发送Client请求 ...
- coturn的负载均衡特性_高性能负载均衡
单服务器无论如何优化,无论采用多好的硬件,总会有一个性能天花板,当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能. 高性能集群的本质很简单,通过增加更多的服务器来提升系 ...
- 利用集群技术实现Web服务器的负载均衡 集群和负载均衡的概念
集群和负载均衡的概念 集群(Cluster) 所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信.应用程序可以通过网络共享内存进行消息传送,实现分布式计算 ...
- f5服务器负载均衡性能指标,f5服务器负载均衡性能指标
f5服务器负载均衡性能指标 内容精选 换一换 弹性负载均衡有不同的负载均衡,分别是共享型负载均衡和独享型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型.共享型负载均衡:适用于访 ...
最新文章
- 《Engineering》评选2021年全球十大工程成就
- Android关于SQLiteOpenHelper的封装
- 操作Docker容器
- jvm性能调优实战 -51修复栈内存区域内存溢出问题 StackOverFlow
- 同步文件,不需要密码
- 数据有了,如何构建数据资产?
- CodeForces - 1559D2 Mocha and Diana (Hard Version)(思维)
- 如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处
- webview取java的参数值_Android 显示 WebView ,加载URL 时,向webview的 header 里面传递参数...
- python删除特定的几行数据_Python:分成几行,并根据搜索删除特定行 - python
- 五道口服装市场关闭前 职业“甩货人”赚一笔
- python 可视化 词云图
- Springboot创建webService接口时的cxfconfi文件报错出现DispatcherServletPath不能找到
- java文件复制后是乱码_复制Java源文件到MyEclipse后乱码问题怎么解决?
- DHCP八种报文详解
- 传统项目管理和敏捷项目管理的区别是什么?
- 【CityHunter】游戏流程设计及技术要点
- 基于fpga的方波发生器
- 2018及过去20年诺贝尔化学奖获奖者及其贡献!
- 江苏大学linux实验报告,正弦波振荡电路实验报告.doc
热门文章
- WEB常见漏洞问题危害及修复建议
- 玖益科技:直通车点击率的提升
- java中outer和inner_innerText 和outerText 的区别
- cad2014卡顿的解决方法_AutoCAD 2012运行卡顿怎么办-cad卡顿解决办法
- Java访问控制修饰符详解( public、 private、protected 和 friendly)
- Elasticsearch 字段膨胀不要怕,Flattened 类型解千愁!
- IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~
- Light Map与花草树木(Alpha Sorting)的处理
- 领导做这几件事,要注意了
- SCOI 2017 酱油记