负载均衡

负载均衡作用:

建立在现有网络结构之上,提供一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽,并发量,吞吐量,加强网络数据处理能力,提高网络灵活性,扩展性和可用性。

负载均衡相关:

什么是cookie

指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据

Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的信息

cookie的应用

提供应用的服务器默认是不知道客户端做了什么的,当你暂时需要记录你在网站上的一些操作时,怎么解决呢?这就出现了coolie技术。如网上购物车,当用户将请求信息发送到后台服务器时,服务器在回复时将在客户端插入一个cookie用于记录用户已经确定购买的物品;在不如当在网站中用账号登陆时,也是利用cookie来保存用户名密码的

session

是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间的内容。而SessionID这一数据则是保存到客户端,用Cookie保存的

负载均衡的分类:

服务器负载均衡

服务器负载均衡主要处理4~7层的负载,如数据库,dns,ftp,http等,其实就是对应用以及端口的负载。

服务器负载均衡解决的问题:

1.解决高并发访问问题

2.提供网络访问速度

3.将客户端请求均衡的分配给后台每一个服务器

4.利用健康检查及时查找后台服务器出现的问题,当某台服务器出现问题后不至于影响业务

搭建服务器负载均衡的条件

1.后台服务至少有两台,且提供相同服务,用于建立服务器池

2.服务器池拥有一个VIP,用于客户访问,以及调用后台服务器池中的服务

服务器负载均衡的部署模式:

反向代理模式

  1. 客户端连接到负载均衡的虚拟IP
  2. 服务器处理客户的请求,根据算法向内部服务器提交请求(源IP变为负载均衡的虚拟IP)
  3. 内部服务器收到负载的请求后回应请求
  4. 负载回复客户端

网关模式(网关模式和反向代理模式的拓扑基本一样,唯一需要注意一点,网关模式中客户端源IP地址不变,后台服务器网关必须配置为负载的IP)

  1. 客户端连接到负载的虚拟IP
  2. 负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)
  3. 负载均衡处理客户请求,通过算法向内部服务器提交请求
  4. 内部服务器收到负载的请求后回应
  5. 负载将转换后的目的IP再次转换为虚拟IP
  6. 负载回复客户端

三角传输模式(三角传输功能是专门为低入站/高出站的应用设计的,例如视频点播应用。它能以最快、最有效的方式响应请求。内部服务器的网关配置为网关路由器IP,且内部服务器必须配置一个和VIP相同的备用IP,用于数据转发。)

  1. 客户端连接到负载的虚拟IP
  2. 负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)
  3. 负载均衡处理客户请求,通过算法向内部服务器提交请求
  4. 内部服务器收到请求,将回复信息发送给网关路由器
  5. 路由器回复客户端

负载均衡对于数据请求的处理流程:

1.首先请求包发送到负载设备,负载设备将请求包通过策略发送给应用组

2.然后从应用组再通过算法下发给服务器池中个个后台服务

负载均衡策略:

2、3层策略   保持ip(基于已连接的源IP与应用组建立会话保持连接)、哈希ip(基于已连接的源IP地址做哈希值,然后与应用组建立会话保持连接)、QOS ip(将指定源IP与后台服务组绑定)、QOS clientport(将指定源ip与端口与后台服务组绑定)

4~7层策略  保持URL(基于已连接的url与后台应用组建立会话保持连接)、保持cookie(基于已连接的coolie值与后台应用组保持会话连接)、插入cookie(第一次请求服务器,服务器回应时插入一个coolie值与后台应用组保持会话连接)、QOS cookie(将指定的cookie值与后台服务组绑定)、QOS url(将指定的url值与后台服务组绑定)

负载均衡算法:

负载均衡算法分为会话保持算法和非会话保持算法(会话保持:当客户端和服务器建立完第一次连接后,之后再次连接时不会重新选择服务器;非会话保持算法:当客户端和服务器建立完第一次连接后,之后再次连接还得重新靠算法选择服务器)

非会话保持算法

轮询                 请求发送后,利用轮流分配请求包的方式,平均分给后台服务器

最小连接数      请求发送后,负载查看后台那个应用服务的连接数小就将请求分发给谁

最短响应时间  负载设备查看从后台应用服务到自己那个响应的快,就将请求发给谁

常用的健康检查方式:

ICMP    利用ping来检测应用服务的网络状况

TCP       利用telnet来检测应用服务的端口状况

DNS      发送dns请求包检测后台服务的通信状况

HTTP    发送http请求包检测后台服务的通信状况

时间: 2024-08-09 23:55:11

负载均衡的相关文章

Nginx做负载均衡时session共享问题详解

用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回. location / { set $memcached_key "$request_uri"; #设置请求memcached服务器的key memca

nginxtomca负载均衡

Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎.能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务.

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

centos 7 LVS+keepalived实现nginx的高可用以及负载均衡

一.准备工作:关闭防火墙,selinux以免对实验结果造成影响,准备虚机,设置IP地址.主机名 hostname:Nginx01 IP:192.168.1.87 Role:Nginx Server hostname:Nginx02 IP: 192.168.1.88 Role:Nginx Server hostname:LVS01 IP: 192.168.1.89 Role:LVS+Keepalived hostname:LVS02 IP: 192.168.1.90 Role:LVS+Keepal

nginx负载均衡+keepalive心跳检测

环境标准: 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一 内核:2.6.32-642.el6.x86_64 系统:CentOS release 6.8 (Final) ip: web01:10.0.0.8 nginx 解析手机端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 web02:10.0.0.200 nginx 解析电脑端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 lb01

大型网站架构系列:负载均衡详解

面对大量用户访问.高并发请求,海量数据,可以使用高性能的服务器.大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题.从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统.分布式和业务拆分解决了,从集中到分布的问题,但是每个部署的独立业务还存在单点的问题和访问统一入口问题,为解决单点故障,我们可

负载均衡原理

双机热备:有流量经过的设备即为主设备,为流量经过的设备即为备份设备 防火墙基于会话状态的数据同步:批量备份.实时备份批量备份:先运行的防火墙会将已有的会话表项一次性同步到加入的设备实时备份:保证表项完全一致,防火墙在产生新表项或表项变化后会及时备份到另一台设备上 双机热备:只支持数据同步.不支持配置同步 链路负载均衡:策略路由策略路由配置不方便,不够灵活,无法适应动态网络结构变化,策略路由无法根据带宽进行报文分发链路负载均衡通过动态算法,能够在多链路中进行负载均衡,算法配置简单,且具有自适应能力

dns + nginx实现负载均衡

一 搭建环境说明: 服务器公网地址 用途 服务器内网地址 123.56.x.92 Nginx负载兼web服务 10.171.132.57 123.57.x.176 Nginx负载兼Web服务 10.172.235.86 两台服务器上面分别有三个站点,web,app,h5 1  PC站前端    nginx  80 2  H5站前端    nginx+tomcat  28180 3 app客户端   nginx+tomcat  28543 负载均衡实现方式和前提 准备用dns轮询解析来实现负载均衡

负载均衡算法的几种常用方案

总结下负载均衡的常用方案及适用场景 轮询调度 以轮询的方式依次请求调度不同的服务器:实现时,一般为服务器带上权重:这样有两个好处: 针对服务器的性能差异可分配不同的负载: 当需要将某个结点剔除时,只需要将其权重设置为0即可: 优点:实现简单.高效:易水平扩展: 缺点:请求到目的结点的不确定,造成其无法适用于有写的场景(缓存,数据库写) 应用场景:数据库或应用服务层中只有读的场景: 随机方式 请求随机分布到各个结点:在数据足够大的场景能达到一个均衡分布: 优点:实现简单.易水平扩展: 缺点:同Ro

LB-HA负载均衡结合高可用keepavlied

LVS结合keepalived配置 ipvsadm –C                         清空ipvsadm规则 ipvsadm –ln                        查看ipvsadm规则 ifconfig eth0:0 down        卸载网卡 ip addr                                  查看keepalived的隐藏ip 官网:http://www.keepalived.org Keepalived.NAT.DR