负载均衡

  1. 负载均衡
  2. 负载均衡算法
  3. 转发的实现

一、负载均衡
集群中的引用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。负载均衡会根据
集群中的每个节点的负载情况,将用户请求转发到合适的节点上;

负载均衡可以用来实现高可用以及伸缩性:
· 高可用:当某个节点故障时,负载均衡会将用户的请求转发到另外的节点上,从而保证所有的服务持续可用;
· 伸缩性:根据系统整个负载情况,可以很容易地添加或移除节点;
负载均衡运行包含两个过程:
1. 根据负载均衡算法的到转发的节点
2. 进行转发
负载均衡算法

  1. 轮询
    轮询算法把每个请求轮流发送到每个服务器上
  2. 加权轮询
    根据服务器的性能差异,为服务器赋予一定的权值,性能高的服务器能分配到更高的权值;
  3. 最少连接
    将请求发送给当前最少连接数的服务器上,由于每个请求的连接时间不一样,使用轮询或者加权轮询算法的话,可能会让一台服务器当前连接数过大,而另一台服务器的连接过小,造成负载不均衡
  4. 加权最少连接
    在最少连接的基础上,根据服务器的性能为每台服务器分配权重,再根据权重重新计算出每台服务器能处理的连接数
  5. 随机算法
    根据请求随机发送到服务器上

转发实现

1. HTTP重定向
2.  DNS域名解析
3. 反向代理服务器
	反向代理服务器位于源服务器前面,用户的请求需要经过反向代理服务器才能到达原服务器。反向代理可有用来进行缓存、日志记录等,同时也可以用来做负载均衡服务器,
	在这种负载均衡转发方式下,客户端不直接请求源服务器,用词原服务器不需要外部IP地址,而反向代理需要配置内部和外部两套IP地址。
	优点:与其他功能集成在一起,配置简单
	缺点:所有请求和响应都需要经过反向代理服务器,他可能成为性能的瓶颈
4.  网络层
5. 链路层

二、集群下的session管理
一个用户的session信息如果存储在一个服务器上,那么负载均衡器把用户的下一个请求转发到另一个服务器,由于服务器没有用户的session信息,那么该用户就需要重新进行登录等操作;
一般都用的是Session Server
使用一个单独的服务器存储session数据,可以使用传统的mysql,也可以使用redis或者memcached这种内存性数据库
优点
· 为了使得大型网站具有伸缩性,集群中的应用服务器通常需要保持无状态,那么应用服务器不能存储用户的回话信息单独进行村塾,从而保证了应用服务器的无状态;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值