关于web集群项目的一些问题

1.用户访问时,后端服务器并不知道用户的IP地址(真正访问的IP),知道的是负载均衡服务器的IP地址,怎么解决此问题?
使用ngx_http_realip_module模块
2.七层负载均衡和四层负载均衡有什么区别?
四层负载均衡:四层负载均衡是在传输层(第四层)操作的负载均衡。它基于 IP 地址和端口号来分发网络流量。四层负载均衡只能根据源 IP 地址、目标 IP 地址、源端口和目标端口等传输层信息进行负载均衡决策。

七层负载均衡:七层负载均衡是在应用层(第七层)操作的负载均衡。它在传输层之上操作,并深入到应用协议层,例如 HTTP、HTTPS、SMTP 等。七层负载均衡可以根据更多的应用层信息进行负载均衡决策,如 URL、Cookie、会话状态等。它能够识别和处理特定应用层协议的特性,并根据这些信息将请求分发到最合适的后端服务器。

四层负载均衡可以速度更快的原因是,四层负载均衡只封装到了传输层,比七层负载均衡少了一层封装。

3.什么是vip漂移?

VIP漂移(Virtual IP Drift)是在负载均衡环境中的一种故障切换机制,用于确保在后端服务器出现故障或维护时,持久性的虚拟IP(VIP)能够无感知地迁移到一个备用服务器上。

对于我的web集群,如果LB1负载均衡器挂了,那么vip将会漂移到LB2。

VIP漂移的过程如下:

  1. 正常情况下,VIP被指向主要的活动服务器。负载均衡设备将接收到的客户端请求分发给该主服务器进行处理。
  2. 当主服务器发生故障、不可达或需要维护时,负载均衡设备检测到主服务器的状态变化,并触发VIP漂移。
  3. 负载均衡设备将VIP迁移到一个备用服务器上。这个备用服务器事先被配置为可以接受并处理VIP流量。
  4. 一旦VIP成功漂移到备用服务器上,负载均衡设备开始将新的客户端请求转发给备用服务器,继续提供服务。
  5. 主服务器恢复正常运行后,VIP可以再次漂移到主服务器上,以实现系统的恢复和平衡。

在VIP漂移的过程中,负载均衡设备起着关键的作用。它需要及时监测后端服务器的状态,并根据预定义的故障切换策略触发漂移。一般来说,负载均衡设备会通过心跳检测、健康检查或其他监控手段来判断后端服务器的可用性,并快速作出决策。

VIP漂移的好处在于保持了虚拟IP地址的连续性,对客户端而言是无感知的。客户端无需重连或重新配置即可继续向VIP发送请求,同时系统可在不中断服务的情况下实现故障恢复和维护操作。这对于需要高可用性和无停机时间的应用非常重要。

4.什么是脑裂现象,发生的原因是什么?

脑裂现象(Split-Brain Phenomenon)是在分布式系统中出现的一种异常情况,通常发生在拥有多个节点的集群环境中。它指的是集群中的节点之间失去了正常的通信连接,导致节点无法相互协调和同步,最终导致系统的分歧和不一致性。

对于我的web集群,如果两台负载均衡器都出现了vip,则发生了脑裂现象。

可能发生的原因:

   1.虚拟路由id不同

   2.vip的地址不同

   3.认证密码不一样

   4.信号丢失(keepalived误判节点信息)

当脑裂现象发生时,集群中的节点可能会分别采取不同的行动,导致数据的不一致性或操作的冲突。例如,某些节点可能认为自己成为了主节点,而其他节点则认为另一个节点成为了主节点。这会导致数据的重复写入、不一致的读取结果以及整个系统的混乱。

为了避免脑裂现象,常见的做法是在分布式系统中使用一致性协议和算法,如选举算法、分布式锁、分布式事务等。这些机制可以帮助节点在出现故障或网络分区时进行状态同步和决策一致性,确保集群的可靠性和一致性。同时,在设计和部署分布式系统时,需要考虑网络拓扑、容错机制和监控工具,以最大程度地减少脑裂现象的发生,并能够及时检测和解决该问题。

5.keepalived的三个进程是什么?
 

Keepalived 是一个用于实现高可用性和负载均衡的软件,通常在 Linux 系统上运行。

  1. VRRP(Virtual Router Redundancy Protocol)进程: VRRP 进程是 Keepalived 的核心进程,负责实现虚拟路由器冗余协议。它基于 VRRP 协议,与其他路由器或设备通信,通过选举一个主要路由器来提供虚拟 IP 地址(VIP)服务。当主要路由器发生故障时,备份路由器会接管并继续提供 VIP 服务。

  2. LVS(Linux Virtual Server)进程: LVS 进程是 Keepalived 中负载均衡相关的进程。它基于 LVS 技术,将传入的网络流量分发给后端服务器集群,以实现负载均衡。LVS 进程负责监控后端服务器的状态,并根据负载均衡算法(如轮询、加权轮询等)选择合适的服务器进行请求转发。

  3. Healthchecking 进程: Healthchecking 进程负责对后端服务器进行健康检查。它定期发送健康检查请求到后端服务器,并根据响应结果判断服务器的可用性。如果服务器无法正常响应或超过预定的响应时间阈值,Healthchecking 进程将标记该服务器为故障状态,并通知 VRRP 进程调整主从关系或 LVS 进程剔除故障节点。

这三个进程共同协作,实现了高可用性和负载均衡的功能。VRRP 进程保证了 VIP 的冗余和故障切换,确保服务的连续性;LVS 进程提供了负载均衡功能,将请求分发给后端服务器;Healthchecking 进程监控服务器的健康状态,保证只有正常可用的服务器参与服务。通过这样的架构,Keepalived 可以提供稳定可靠的服务,并实现故障自动切换和负载均衡。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值