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

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

相关推荐
艾伦~耶格尔2 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构
攸攸太上2 小时前
Spring Gateway学习
java·后端·学习·spring·微服务·gateway
_.Switch5 小时前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
一直在进步的派大星6 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
神一样的老师11 小时前
构建5G-TSN测试平台:架构与挑战
5g·架构
huaqianzkh11 小时前
付费计量系统通用功能(13)
网络·安全·架构
Gogeof12 小时前
云原生化 - 基础镜像(简约版)
微服务·云原生·基础镜像
2402_8575834912 小时前
新闻推荐系统:Spring Boot的架构优势
数据库·spring boot·架构
bylander13 小时前
【AI学习】Mamba学习(一):总体架构
人工智能·深度学习·学习·架构
未来之窗软件服务13 小时前
玄武星辰大阵——软件终端架构思维———未来之窗行业应用跨平台架构
架构