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

在如见常见微服务系统中,负载均衡组件是一种将流量分配到多个服务的技术,目的是提高系统的性能和可用性。负载均衡有两种常见的模式:服务端模式和客户端模式。服务端模式使用独立的应用程序(如 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

相关推荐
Jing_jing_X33 分钟前
CPU 架构:x86、x64、ARM 到底是什么?为什么程序不能通用?
arm开发·架构·cpu
qq_177767372 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
m0_740043733 小时前
【无标题】
java·spring boot·spring·spring cloud·微服务
小程故事多_803 小时前
深度搜索Agent架构全解析:从入门到进阶,解锁复杂问题求解密码
人工智能·架构·aigc
●VON4 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
Gary董4 小时前
高并发的微服务架构如何设计
微服务·云原生·架构
ujainu5 小时前
Flutter + OpenHarmony 实战:《圆环跳跃》——完整游戏架构与视觉优化
flutter·游戏·架构·openharmony
爬山算法5 小时前
Hibernate(74)如何在CQRS架构中使用Hibernate?
java·架构·hibernate
香芋Yu6 小时前
【大模型教程——第二部分:Transformer架构揭秘】第2章:模型家族谱系:从编码器到解码器 (Model Architectures)
深度学习·架构·transformer
像少年啦飞驰点、7 小时前
零基础入门 Spring Boot:从“Hello World”到可部署微服务的完整学习路径
java·spring boot·微服务·编程入门·后端开发