Skip to content

Équilibrage de charge et passerelles

Question centrale

Lorsqu'un seul serveur ne peut plus supporter la charge, comment répartir le trafic de manière « intelligente » vers plusieurs instances de serveurs ? L'équilibrage de charge est le « distributeur » des systèmes distribués modernes. Cet article explore en profondeur la philosophie de conception et les pratiques d'ingénierie de l'équilibrage de charge à travers des cas réels (caisse de salon de thé, tri de colis, circulation routière).


1. Pourquoi « l'équilibrage de charge » ?

1.1 Partons d'un cas réel : l'évolution de l'architecture d'un site web

Une startup a rencontré de graves problèmes de performance lors de la croissance rapide de sa base d'utilisateurs :

Reconstitution du scénario :

Étape 1 : Serveur unique
Utilisateur → Serveur (1 cœur, 2 Go)

  1000 utilisateurs actifs/jour → Heures de pointe : 1000 visiteurs simultanés

Problème : CPU à 100 %, temps de réponse lent, pannes fréquentes

Le problème fatal du serveur unique

  • Goulot d'étranglement de performance : CPU à 100 %, temps de réponse > 5 secondes
  • Point unique de défaillance : si le serveur tombe en panne, tout le site est indisponible
  • Évolution difficile : seule la mise à niveau verticale est possible (ajouter CPU, mémoire), coûteuse et limitée

Architecture améliorée (avec équilibrage de charge) :

Étape 2 : Serveurs multiples + Équilibreur de charge
Utilisateur → Équilibreur de charge (Nginx)

     ├→ Serveur 1 (1 cœur, 2 Go)
     ├→ Serveur 2 (1 cœur, 2 Go)
     └→ Serveur 3 (1 cœur, 2 Go)

Résultats après amélioration

  • Performances améliorées : 3 serveurs traitent en parallèle, temps de réponse < 1 seconde
  • Haute disponibilité : si un serveur tombe en panne, les autres continuent de servir
  • Évolution horizontale : besoin de plus de performance ? Ajoutez simplement des serveurs

1.2 Analogie avec la vie quotidienne : le salon de thé

Imaginez que vous gérez un salon de thé à la mode :

  • 1 caisse : les clients font la queue, les suivants s'impatientent, mauvaises avis
  • 3 caisses : le personnel répartit les clients entre les caisses, efficacité multipliée par 3

L'équilibreur de charge est le « distributeur de caisses » :

  • Utilisateurs (clients) → Demandent un service
  • Équilibreur de charge (distributeur) → Répartit les requêtes vers différents serveurs
  • Serveurs (caisses) → Traitent les requêtes
负载均衡器类型
从四层到七层,从硬件到软件的演进
传统架构单点
🖥️
Web Server
负载: 95% 🔥
负载均衡架构分布式
⚖️L4 Load Balancer
🖥️
S1
🖥️
S2
🖥️
S3
📦四层负载均衡 (L4)
工作原理

基于传输层信息(IP地址+端口)进行流量分发。不关心应用层内容,只做"快递分拣",因此性能极高。

典型产品
LVS (Linux Virtual Server)HAProxy (TCP模式)AWS NLBAzure Load Balancer
适用场景
  • 需要极高吞吐量的场景
  • TCP/UDP流量分发
  • 不需要内容识别的场景
  • 微服务间通信
性能对比一览
类型
处理层
性能
灵活性
成本
硬件负载均衡
L4/L7
$$$$$
四层负载均衡
L4 (传输层)
$$
七层负载均衡
L7 (应用层)
$$$
软件负载均衡
L4/L7
$

2. Qu'est-ce que l'équilibrage de charge ?

2.1 Équilibrage de charge couche 4 (L4) : ne regarde que le numéro de porte

Fonctionne au niveau transport (TCP/UDP), comme un livreur qui ne regarde que votre numéro de porte (adresse IP + numéro de port), sans se soucier de ce qui se passe chez vous.

Caractéristiques :

  • Vitesse extrême : ne fait qu'une simple redirection d'adresse, n'analyse pas le contenu des paquets
  • Cas d'utilisation : connexions à la base de données, cache Redis, serveurs de jeux à connexion longue
  • Produits représentatifs : LVS (Linux Virtual Server), AWS NLB, Azure Load Balancer
Principe de fonctionnement
Requête client → Équilibreur de charge L4 → Serveur backend

         Ne regarde que IP + Port

         Transfert rapide (sans dépaqueter le contenu)

2.2 Équilibrage de charge couche 7 (L7) : examine le contenu du colis

Fonctionne au niveau applicatif (HTTP/HTTPS), comme un livreur qui, au-delà du numéro de porte, ouvre le colis pour examiner son contenu et décider comment le livrer en conséquence.

Caractéristiques :

  • Routage intelligent : peut effectuer un routage fin basé sur le chemin URL, les en-têtes HTTP, les cookies, etc.
  • Fonctionnalités avancées : terminaison SSL, cache de contenu, compression, WAF de sécurité
  • Cas d'utilisation : applications Web, passerelles API, architectures microservices
  • Produits représentatifs : Nginx, HAProxy, AWS ALB, Envoy
Principe de fonctionnement
Requête client → Équilibreur de charge L7 → Analyse le contenu HTTP

         Examine URL, Header, Cookie

         Routage intelligent vers un serveur spécifique

2.3 Comparaison L4 vs L7

DimensionÉquilibrage L4Équilibrage L7
Couche de travailTransport (TCP/UDP)Applicatif (HTTP/HTTPS)
Critère de décisionAdresse IP + numéro de portURL, Header, Cookie, Body
Vitesse de traitementExtrêmement rapide (mode noyau)Assez rapide (analyse en espace utilisateur)
Richesse fonctionnelleTransfert de baseTerminaison SSL, cache, compression, WAF
Scénario typiqueBase de données, jeux, connexions longuesApplications Web, passerelles API, microservices
Produits représentatifsLVS, AWS NLBNginx, HAProxy, AWS ALB

3. Problème central n°1 : comment éviter que les serveurs « en panne » continuent à recevoir des requêtes ?

3.1 Vérifications de santé : ne laissez pas un serveur « malade »拖垮 le système

Imaginez que l'une de vos caisses tombe en panne, mais que le distributeur ne le sait pas et continue d'envoyer des clients vers elle. La file d'attente s'allonge, les clients se plaignent.

Le contrôle de santé (Health Check) est la « sentinelle » qui empêche cette situation. Il effectue régulièrement un « bilan de santé » de chaque serveur, retire immédiatement ceux qui sont « malades » et les réintègre une fois « guéris ».

3.2 Contrôle de santé actif vs passif

Contrôle de santé actif (Active Health Check) : l'équilibreur de charge « frappe à la porte » pour demander au serveur « Es-tu toujours là ? »

  • Envoie régulièrement des requêtes de sondage (par ex. HTTP /health, TCP ping)
  • Un délai de réponse ou un code d'erreur indique que le serveur est défectueux
  • Avantage : résultat de détection fiable
  • Inconvénient : génère du trafic de sondage supplémentaire

Contrôle de santé passif (Passive Health Check) : l'équilibreur de charge « observe » les réponses du trafic réel

  • Statistiques sur le temps de réponse et le taux d'erreur des requêtes réelles
  • Des échecs consécutifs indiquent que le serveur est défectueux
  • Avantage : aucun trafic supplémentaire
  • Inconvénient : nécessite suffisamment de trafic pour porter un jugement
Tableau des seuils
IndicateurSeuil de santéSeuil de défectuositéDescription
Code d'état HTTP200-399400+ ou timeoutLes 4xx/5xx sont considérés comme des échecs
Connexion TCPÉtablie avec succèsDélai de connexionVérifier si le port est accessible
Temps de réponse< 500 ms> 2000 msLe délai est généralement fixé entre 2 et 5 secondes
Échecs consécutifs-3Éviter les faux positifs dus à un incident isolé
Intervalle de vérification-5 sTrop fréquent augmente la charge

Piège courant : seuils trop « sensibles »

Une équipe avait fixé le seuil de temps de réponse du contrôle de santé à 100 ms, alors que le temps de réponse moyen de leur application oscillait entre 80 et 120 ms. Résultat : les serveurs étaient fréquemment marqués comme « défectueux », le trafic oscillait sans cesse entre serveurs sains et défectueux, et la disponibilité globale du système diminuait.

La bonne approche : le seuil doit être fixé à 2 à 3 fois le temps de réponse au 99e percentile, laissant une marge suffisante pour les variations normales.


4. Problème central n°2 : comment s'assurer que le « client habituel » trouve toujours le même « caissier » ?

4.1 Persistance de session : le « client habituel » trouve toujours le même « caissier »

Imaginez que vous êtes un habitué du salon de thé, toujours accueilli par le même employé qui connaît vos préférences (moitié de sucre, sans glace). Le service est rapide et attentionné. Mais si à chaque visite vous avez un nouvel employé, vous devez tout répéter, l'efficacité en prend un coup.

La persistance de session (Session Persistence/Sticky Session) résout précisément ce problème : s'assurer que les requêtes d'un même utilisateur sont toujours routées vers le même serveur backend.

会话保持机制
Cookie、IP哈希与粘性会话的技术对比
应用场景:
👤
用户A
👥
用户B
👨‍💼
用户C
请求
⚖️负载均衡器
🍪
Cookie 插入
通过HTTP Cookie保持会话
会话映射表
sess_abc123Server 1
sess_def456Server 2
sess_ghi789Server 1
🖥️
Server 1
10.0.1.10
选中
🖥️
Server 2
10.0.1.11
🖥️
Server 3
10.0.1.12
三种会话保持机制对比
🍪Cookie 插入
不受客户端IP变化影响
首次请求即可保持会话
客户端需支持Cookie
存在Cookie被禁用的风险
#️⃣IP Hash
无需客户端支持任何机制
无状态,LB重启不影响会话
客户端IP变化会丢失会话
难以做到真正的负载均衡
📝粘性会话
结合Cookie和IP两种方式优势
支持会话复制和故障转移
实现复杂,需要应用支持
会话复制带来性能开销

4.2 Comparaison de trois mécanismes de persistance de session

MécanismePrincipe de mise en œuvreAvantageInconvénientCas d'utilisation
Insertion de cookieL'équilibreur de charge insère un cookie dans la réponse, les requêtes ultérieures portent ce cookieInsensible aux changements d'IP, la persistance est établie dès la première requêteLe client doit supporter les cookies, qui peuvent être désactivésPanier e-commerce, maintien de la connexion
Hachage IPCalcul de hachage sur l'IP du client, mappage vers un serveur spécifiqueAucun support client requis, sans étatUn changement d'IP fait perdre la session, répartition difficilement uniformeEnvironnements sans cookie, WebSocket
Table de sessions stickyL'équilibreur de charge maintient une table de mappage session → serveurSupporte la réplication de session et le basculementConsomme la mémoire de l'équilibreur de charge, nécessite une synchronisation supplémentaireScénarios exigeant une haute disponibilité stricte

Recommandations d'utilisation

  • Insertion de cookie : recommandée en priorité, bonne compatibilité
  • Hachage IP : uniquement pour les scénarios spéciaux comme WebSocket
  • Table de sessions sticky : combinée aux cookies, offre une capacité de basculement

5. Problème central n°3 : comment réaliser un déploiement sans interruption ?

5.1 Déploiement bleu-vert : publication sans interruption par « basculement instantané »

Idée fondamentale : maintenir simultanément deux environnements de production identiques (environnement bleu et environnement vert), mais un seul est exposé au public.

蓝绿部署
零停机发布的经典策略,两套环境瞬间切换
🔵
蓝环境
v1.0.0
100% 流量
🟢
绿环境
v1.1.0
0% 流量
用户流量
👤
👤
👤
👤
👤
⚖️
负载均衡器
当前指向: 🔵 蓝环境
🔵蓝环境v1.0.0
🖥️B1
🖥️B2
🖥️B3
🟢绿环境v1.1.0
🖥️G1
🖥️G2
🖥️G3
蓝绿部署流程
1
绿环境部署
在绿环境部署新版本,进行冒烟测试
2
切换流量
将负载均衡器指向绿环境,流量瞬间切换
3
监控观察
观察绿环境运行状态,确认无异常
4
蓝环境升级
在蓝环境部署新版本,为下次切换做准备
蓝绿部署优缺点
优点
  • 零停机时间:流量切换在毫秒级完成,用户无感知
  • 快速回滚:发现问题可立即切回原环境,风险可控
  • 完整的预发布测试:新环境可完整测试后再接管流量
  • 数据一致性:无需处理新旧版本同时运行时的兼容问题
缺点
  • 资源成本高:需要同时维护两套完整环境,服务器成本翻倍
  • 数据库兼容性挑战:如果涉及数据库Schema变更,需要特别处理兼容性
  • 预热问题:新环境启动后可能需要时间预热缓存、连接池等
  • 不适合有状态服务:对于长连接、会话保持要求高的场景处理复杂

Flux de travail :

  1. État initial : l'environnement bleu exécute v1.0 (production), l'environnement vert est en attente.
  2. Déploiement de la nouvelle version : déployer v1.1 dans l'environnement vert, effectuer des tests de fumigation internes.
  3. Basculement du trafic : pointer l'équilibreur de charge vers l'environnement vert, le trafic bascule instantanément vers v1.1.
  4. Surveillance : observer l'état de l'environnement vert, confirmer l'absence d'anomalies.
  5. Conservation de l'ancienne version : l'environnement bleu conserve v1.0 pendant un certain temps (par ex. 24 heures), comme assurance de rollback rapide.

Analyse des avantages et inconvénients

AvantagesInconvénients
Temps d'indisponibilité nul, le basculement s'effectue en quelques millisecondesCoût de ressources élevé, nécessite la maintenance simultanée de deux environnements
Rollback rapide, retour à l'environnement précédent dès qu'un problème est détectéLes modifications de schéma de base de données nécessitent un traitement de compatibilité particulier
Le nouvel environnement peut être testé exhaustivement avant de prendre le traficNon applicable aux services avec état (comme les connexions longues WebSocket)

5.2 Publication canari : stratégie de déploiement progressif en « petites étapes rapides »

Le nom « publication canari » vient de la pratique historique des « canaris de mine » — les mineurs emmenaient un canari dans la mine ; si le canari montrait des signes anormaux, cela indiquait une fuite de gaz toxique et les mineurs évacuaient immédiatement. Dans la publication logicielle, la publication canari consiste à faire tester d'abord la nouvelle version par un petit nombre d'utilisateurs, puis à étendre progressivement la portée si aucun problème n'est détecté.

金丝雀发布
灰度发布策略,小流量先行验证新版本
流量分配比例拖动滑块调整新旧版本流量占比
稳定版 v1.0.090%
金丝雀 v1.1.010%
实时流量模拟 总请求: 0 | 稳定版: 0 | 金丝雀: 0
用户请求
负载均衡器
⚖️
Canary:10%
后端服务
稳定版 v1.0.0
📦S1
📦S2
📦S3
金丝雀 v1.1.0
🧪C1
🧪C2
金丝雀发布最佳实践
📊渐进式放量
  • 1% → 5% → 10% → 25% → 50% → 100%
  • 每个阶段观察至少15-30分钟
  • 关键指标:错误率、延迟、吞吐量
🎯精准用户选择
  • 内部员工/测试用户先行
  • 按地域:选择特定区域用户
  • 按用户属性:VIP用户或普通用户
  • 按设备类型:iOS/Android/Web
🛡️自动回滚机制
  • 错误率超过阈值自动回滚
  • P99延迟异常触发告警
  • 关键业务指标下降自动回滚
  • 一键回滚:30秒内恢复旧版本
📈监控与指标
  • 基础设施:CPU、内存、磁盘、网络
  • 应用指标:QPS、错误率、延迟分布
  • 业务指标:转化率、订单量、收入
  • 用户体验:页面加载时间、交互延迟

Idée fondamentale :

  1. Trafic limité en premier : rediriger d'abord 1 % du trafic vers les serveurs de la nouvelle version.
  2. Surveillance des indicateurs : suivre en continu le taux d'erreur, la latence et les indicateurs clés de l'activité.
  3. Augmentation progressive : si tout est normal, augmenter progressivement la proportion à 5 %, 10 %, 25 %, 50 %, 100 %.
  4. Rollback rapide : dès qu'une anomalie est détectée, basculer immédiatement tout le trafic vers l'ancienne version.

Avantages de la publication canari

AvantageDescription
Risque maîtriséMême si la nouvelle version a un bug critique, seuls quelques utilisateurs sont affectés
Validation réelleTestée dans le véritable environnement de production, plus fiable que l'environnement de test
Itération rapideL'équipe peut publier de nouvelles fonctionnalités plus fréquemment et en toute confiance
Économie de ressourcesPas besoin de préparer deux environnements complets comme pour le déploiement bleu-vert

6. Problème central n°4 : comment permettre au système de « respirer » tout seul ?

6.1 Mise à l'échelle automatique : le système s'adapte comme un restaurant qui « ajuste son personnel »

Imaginez que vous gérez un restaurant :

  • Heure de pointe du déjeuner : 10 serveurs sont nécessaires, mais à 15 h en période creuse, 2 suffisent
  • Si vous gardez 10 serveurs en permanence : les coûts salariaux explosent
  • Si vous n'en gardez que 2 : aux heures de pointe, les clients s'impatientent et partent

La mise à l'échelle automatique (Auto Scaling) permet au système de s'adapter comme un restaurant — ajouter automatiquement des serveurs quand la charge est élevée, en retirer quand elle est basse.

自动扩缩容
基于CPU、内存、QPS的智能弹性伸缩
扩容指标:
实时监控 实时
💻CPU使用率
45%
扩容阈值: 70%缩容阈值: 30%
🧠内存使用率
60%
扩容阈值: 75%缩容阈值: 40%
QPS
650req/s
扩容阈值: 1000/s目标: 800/s
🖥️运行实例
3个实例
最小: 2最大: 10
1
2
3
4
5
6
7
8
9
10
扩缩容历史最近 5 次操作
📈
扩容: 2 → 3 实例
CPU使用率超过70%
10:23
📉
缩容: 4 → 3 实例
CPU使用率低于30%
09:15
📈
扩容: 3 → 4 实例
QPS达到1000/s
08:42
📈
扩容: 2 → 3 实例
内存使用率超过75%
07:30
📉
缩容: 5 → 4 实例
流量下降
06:20
自动扩缩容最佳实践
⏱️
冷却时间
设置适当的冷却时间(通常3-5分钟),避免扩缩容操作过于频繁导致的震荡
📊
多指标综合
不要依赖单一指标,结合CPU、内存、QPS、连接数等多维度进行综合判断
🎯
目标利用率
设置合理的资源目标利用率(如70%),预留足够的缓冲应对突发流量
快速扩容
扩容操作应该比缩容更激进,确保系统能快速应对流量增长

6.2 Choix des métriques de mise à l'échelle

Le cœur de la mise à l'échelle automatique est de répondre à une question : quand faut-il ajouter des serveurs ? quand faut-il en retirer ?

Métriques de décision courantes :

MétriqueSeuil de montée en chargeSeuil de baisseCas d'utilisation
Utilisation CPU> 70 %< 30 %Applications à forte charge de calcul
Utilisation mémoire> 75 %< 40 %Applications à forte consommation mémoire
QPS (requêtes par seconde)> 1000/s< 400/sPasserelles API, services Web
Nombre de connexions> 5000< 1000Base de données, files de messages
Métrique métier personnaliséeSelon l'activitéSelon l'activitéScénarios métier spécifiques

Pièges et solutions de la stratégie de mise à l'échelle

Piège 1 : la mise à l'échelle réagit trop lentement, le pic de trafic a déjà fait tomber le système

Lors d'une promotion e-commerce, un système déclenchait la montée en charge à CPU > 80 %, mais la collecte des métriques avait 1 minute de retard et le démarrage d'une nouvelle instance prenait 3 minutes. Le trafic est arrivé trop vite, la mise à l'échelle n'était pas terminée que les serveurs étaient déjà en panne.

Solutions :

  • Mise à l'échelle anticipée : prévoir les pics de trafic sur la base des données historiques, commencer la montée en charge 30 minutes à l'avance
  • Seuils à plusieurs niveaux : 60 % pour l'alerte (préchauffage des nouvelles instances), 70 % pour la montée en charge officielle, 80 % pour la montée en charge d'urgence
  • Montée en charge rapide : utiliser le déploiement conteneurisé, les nouvelles instances démarrent en 30 secondes (contre 3 à 5 minutes pour les VM)

Piège 2 : mise à l'échelle trop agressive, explosion des coûts

Une startup avait configuré une politique agressive : CPU > 50 % déclenchait la montée en charge. Résultat : une fluctuation normale de l'activité a déclenché la montée en charge, le nombre de serveurs est passé de 5 à 30, et la facture cloud a fait pleurer le DAF à la fin du mois.

Solutions :

  • Définir un délai de refroidissement : après une montée en charge, attendre au moins 5 minutes avant de pouvoir relancer
  • Définir un nombre maximum d'instances : max = nombre actuel x 2, pour éviter une expansion infinie
  • Distinguer les pics ponctuels des tendances : ne déclencher la montée en charge que si le seuil est dépassé pendant 3 cycles consécutifs

Piège 3 : baisse d'échelle trop rapide, les machines viennent d'être ajoutées et sont déjà retirées

Une équipe avait configuré la baisse d'échelle à CPU < 30 %. Après la montée en charge, le trafic était encore en cours d'absorption, le CPU est brièvement redescendu à 25 %, déclenchant la baisse. Après la baisse, le CPU est remonté à 80 %, déclenchant à nouveau la montée — le système oscillait frénétiquement entre « montée-baisse-montée ».

Solutions :

  • Baisse d'échelle plus conservatrice : seuil de montée à 70 %, seuil de baisse à 25 %, avec une zone tampon suffisante entre les deux
  • Délai de refroidissement plus long pour la baisse : après une montée, attendre au moins 10 minutes avant de pouvoir baisser
  • Baisse progressive : ne retirer qu'une seule machine à la fois, observer avant de décider de continuer

7. En pratique : comment choisir un équilibreur de charge ?

7.1 Comparaison des équilibreurs de charge principaux

CaractéristiqueNginxHAProxyEnvoyÉquilibreur de charge cloud
PositionnementProxy inverse/équilibreur de charge haute performanceÉquilibreur de charge open sourceProxy cloud-nativeÉquilibreur de charge géré
PerformanceExtrêmement élevée (C, événementiel)Élevée (événementiel)Élevée (C++/Rust)Extrêmement élevée
Richesse fonctionnelleÉquilibrage de charge de base, fichiers statiques, cacheAlgorithmes d'équilibrage de charge richesRoutage avancé, observabilitéFonctionnalités complètes
ConfigurationFichier de configuration (nginx.conf)Fichier de configuration (haproxy.cfg)API/Fichier de configurationConsole UI
ExtensionsModules C/Scripts LuaScripts LuaWASM/FiltrePlugins
Cas d'utilisationRessources statiques, équilibrage L7, terminaison SSLÉquilibrage L7, haute disponibilitéMaillage de services, multi-cloudPrise en main rapide

Recommandations de sélection

Arbre de décision :

Choisir un équilibreur de charge :

├─ Besoin uniquement d'un équilibrage L4 de base ?
│  ├─ Oui → LVS (open source, gratuit) ou NLB du fournisseur cloud
│  └─ Non → Continuer

├─ Besoin de maillage de services, déploiement multi-cloud ?
│  ├─ Oui → Envoy
│  └─ Non → Continuer

├─ Besoin de configurations et plugins très complexes ?
│  ├─ Oui → HAProxy
│  └─ Non → Continuer

├─ Besoin de haute performance + configuration simple ?
│  ├─ Oui → Nginx (choix recommandé)
│  └─ Continuer

├─ Préférer une solution gérée ?
│  ├─ Oui → Équilibreur de charge cloud (AWS ALB, Alibaba SLB)
│  └─ Nginx auto-hébergé

8. Résumé : la philosophie fondamentale de l'équilibrage de charge

8.1 Rappel des principes fondamentaux

PrincipeSignificationPoints de pratique
CouchesL4 gère le « tri de colis » (rapide mais simple)L4 pour bases de données, jeux ; L7 pour Web, API
RedondanceLe point unique de défaillance est l'ennemi de l'architectureAméliorer la disponibilité via le déploiement multi-instances, multi-zones
ProgressivitéNe jamais « tout changer d'un coup » lors d'une nouvelle versionDéploiement bleu-vert pour zéro interruption ; canari pour un risque maîtrisé
ÉlasticitéLe système doit « respirer » comme un organisme vivantMontée en charge automatique quand la demande est forte, baisse quand elle est faible

8.2 Liste de contrôle de conception

Avant d'introduire un équilibreur de charge, posez-vous les questions suivantes :

  • [ ] Avez-vous vraiment besoin d'un équilibreur de charge ? (La performance d'un seul serveur est-elle réellement insuffisante)
  • [ ] Choisir L4 ou L7 ? (selon le scénario métier)
  • [ ] Comment gérer la persistance de session ? (Cookie, hachage IP, table de sessions)
  • [ ] Comment implémenter les contrôles de santé ? (actif, passif, paramétrage des seuils)
  • [ ] Comment réaliser le zéro temps d'arrêt ? (déploiement bleu-vert, canari)
  • [ ] Comment implémenter l'élasticité ? (métriques de mise à l'échelle, délai de refroidissement, nombre maximum d'instances)

9. Glossaire

TermeAnglaisDéfinition
Équilibreur de chargeLoad BalancerDispositif ou logiciel répartissant le trafic vers plusieurs serveurs backend
Équilibrage L4L4 Load BalancingÉquilibrage de charge basé sur la couche transport (TCP/UDP)
Équilibrage L7L7 Load BalancingÉquilibrage de charge basé sur la couche applicative (HTTP/HTTPS)
Contrôle de santéHealth CheckMécanisme vérifiant périodiquement l'état de santé des serveurs backend
Persistance de sessionSession PersistenceGarantit que les requêtes d'un même utilisateur sont toujours routées vers le même serveur
Session stickySticky SessionAutre appellation, identique à Session Persistence
Déploiement bleu-vertBlue-Green DeploymentStratégie de publication sans interruption par basculement entre deux environnements
Publication canariCanary ReleaseStratégie de déploiement progressif validée d'abord sur un faible volume de trafic
Mise à l'échelle automatiqueAuto ScalingAjout ou retrait automatique de serveurs en fonction de la charge
Évolution horizontaleHorizontal ScalingAugmenter la capacité de traitement en ajoutant des serveurs
Évolution verticaleVertical ScalingAugmenter la capacité de traitement en améliorant la configuration d'un seul serveur (CPU, mémoire)
Multi-régionMulti-RegionDéployer des services dans plusieurs zones géographiques
Multi-actifActive-ActivePlusieurs régions fournissent simultanément des services
Actif-veilleActive-StandbyUne seule région fournit le service, les autres sont en attente
Réplication de donnéesData ReplicationMécanisme de copie de données entre régions
RTORecovery Time Objective (RTO)Objectif de temps de récupération, délai maximal de restauration du service après une panne
RPORecovery Point Objective (RPO)Objectif de point de récupération, volume maximal de données pouvant être perdues après une panne