Балансировщик нагрузки
Технология распределения трафика между несколькими серверами.
Балансировка нагрузки улучшает отзывчивость и доступность приложений, предотвращая перегрузку любого отдельного сервера. Он находится между клиентами и серверами, распределяя входящие запросы. Если сервер выходит из строя, балансировщик перенаправляет трафик на другие серверы.
### Типы балансировки
1. Layer 4 (Транспортный): На основе IP и порта.
2. Layer 7 (Прикладной): На основе содержимого (URL, cookie).
### Алгоритмы
- Round Robin: По очереди.
- Least Connections: Туда, где меньше всего соединений.
graph LR
Center["Балансировщик нагрузки"]:::main
Rel_gateway["gateway"]:::related -.-> Center
click Rel_gateway "/terms/gateway"
Rel_cdn["cdn"]:::related -.-> Center
click Rel_cdn "/terms/cdn"
Rel_grid_computing["grid-computing"]:::related -.-> Center
click Rel_grid_computing "/terms/grid-computing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Проверка знаний
🧒 Простыми словами
Представьте супермаркет с 10 кассами. Балансировщик — это сотрудник, который стоит спереди и направляет каждого покупателя к самой короткой очереди, чтобы все обслуживались быстрее и ни один кассир не был перегружен.
🤓 Expert Deep Dive
Балансировщики работают на уровне 4 (L4) или уровне 7 (L7) модели OSI. L7 позволяет реализовать 'липкие сессии' (sticky sessions), когда пользователь закрепляется за определенным сервером для сохранения состояния.