负载均衡 6 大使用场景

本文翻译自国外论坛 medium,原文地址:medium.com/@maheshsain...,文章作者:Mahesh Saini

在如今常见微服务系统中,负载均衡组件是一种将流量分配到多个服务的技术,目的是提高系统的性能和可用性。负载均衡有两种常见的模式:服务端模式和客户端模式。服务端模式使用独立的应用程序(如 Nginx)来转发请求,客户端模式使用类库(如 Ribbon、Spring Cloud LoadBalancer)来选择后端服务。负载均衡还有不同的算法,如轮询、随机、最小连接数、区域等。本文将给大家介绍在微服务系统中负载均衡组件常见使用场景,内容大纲如下

  • 故障处理
  • 实例健康检查
  • 路由指定
  • https 流量卸载
  • 跨区域负载均衡
  • 用户粘性

故障处理

当后端服务发生故障时,负载均衡组件能从故障服务中自动重新布线,取消对故障服务的流量分配,实现高可用性并最大限度地减少停机时间。示例图如下,

实例健康检查

负载均衡组件可以主动发起对后端服务运行状况的定期监控和验证,确保客服端传入的流量仅流向运行正常的服务。示例图如下,

路由指定

负载均衡组件可以将针对特定平台(移动、桌面等)的请求流量定向到单独的后端服务以进行定制响应。示例图如下,

https 流量卸载

负载均衡组件可以卸载 https 流量,进行解密,将解密后的 http 流量发送到后端服务,减轻后端服务压力以及复杂度。示例图如下,

跨区域负载均衡

当系统对稳定性要求较高,会需要用到多个可用区也就是异地容灾机制时,负载均衡组件可以在多个可用区之间均匀分配流量,达到增强容错能力和可扩展性的效果。示例图如下,

不过有一些需要说明的是在跨区域调用中,可能出现 AZ 1 调用 AZ 2,造成调用延迟过高的问题,这个时候负载均衡组件也提供同区域调用的能力来减少这一现象。

用户粘性

负载均衡组件可以将用户请求与定后端服务做绑定达成"用户粘性",也就是说这个用户的请求都会一直被同一个服务处理。用户粘性的好处是可以确保用户会话的连续性,示例图如下,

关注公众号【waynblog】每周分享技术干货、开源项目、实战经验、国外优质文章翻译等,您的关注将是我的更新动力!

相关推荐
hzylyh3 天前
【Java实现单例模式的五种方式及其优缺点分析】
负载均衡
Vio7253 天前
Ribbon负载均衡
spring cloud·ribbon·负载均衡
zrande3 天前
Nginx 负载均衡通用方案
nginx·负载均衡
维尔切5 天前
Nginx 反向代理与负载均衡
运维·nginx·负载均衡
知白守黑2675 天前
反向代理和负载均衡
运维·负载均衡
vadvascascass5 天前
平滑加权轮询负载均衡的底层逻辑
java·算法·负载均衡
yunmi_6 天前
Spring Cloud Netfilx -- Ribbon:负载均衡工具(代码示例)
spring cloud·ribbon·maven·负载均衡
java干货6 天前
我用Nginx做了负载均衡,还需要API网关吗?
运维·nginx·负载均衡
小任今晚几点睡8 天前
LVS深度解析:从原理到实战的负载均衡完全指南
负载均衡·lvs
森林-8 天前
Spring Cloud Netflix Ribbon:微服务的客户端负载均衡利器
spring cloud·微服务·ribbon·负载均衡