微服务之负载均衡使用场景

2023年 10月 30日 64.6k 0

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

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

故障处理

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

图片图片

实例健康检查

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

图片图片

路由指定

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

图片图片

https 流量卸载

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

图片图片

跨区域负载均衡

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

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

图片图片

用户粘性

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

图片图片

本文翻译自国外论坛 medium,原文地址:https://medium.com/@maheshsaini.sec/load-balancer-realistic-use-cases-distributed-system-design-ccf81343bad0

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论