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

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

故障处理

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

实例健康检查

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

路由指定

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

https 流量卸载

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

跨区域负载均衡

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

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

用户粘性

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

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

相关推荐
兜兜风d'1 小时前
RabbitMQ消息分发详解:从默认轮询到智能负载均衡
spring boot·分布式·rabbitmq·负载均衡·ruby·java-rabbitmq
Ashlee_code3 小时前
**新一代券商与机构专业交易系统开发:从国际金融变局到技术架构重构**
重构·架构·系统架构·区块链·私募·柜台·中资券商
Wang's Blog3 小时前
Nestjs框架: 微服务与分布式架构解析之核心概念、应用场景与技术挑战
分布式·微服务·架构
lemon_sjdk3 小时前
软件开发模式架构选择
java·架构·软件开发·前后端分离
GIOTTO情4 小时前
面向高并发场景的舆情处置技术实践——基于字节探索Infoseek的架构拆解
架构
摇滚侠5 小时前
Nginx 与 F5 负载均衡的区别
nginx·负载均衡
一语长情5 小时前
Go高并发背后的功臣:Goroutine调度器详解
后端·架构·go
PerfumerKarma7 小时前
【渲染引擎基础】圣杯架构——固定逻辑时长+插值渲染
架构·游戏引擎
常先森7 小时前
【解密源码】 RAGFlow 切分最佳实践-navie 分词器原理
架构·llm
yychen_java7 小时前
基于Java3D与Jzy3D的三维建模深度开发:从架构到实践
java·3d·架构