TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #2977 1.69K
Обратное давление и архитектура
(описание к предыдущему посту)

Обратное давление — ключевой элемент корректно работающей инфраструктуры.

Когда базы данных, очереди сообщений, пулы соединений или другие системы оказываются перегружены, как они справляются с нагрузкой?

Некоторые программы реагируют на перегрузку тем, что позволяют своим ресурсам исчерпаться, в результате чего система аварийно завершается (например, из‑за нехватки памяти — OOM). С точки зрения реализации такое поведение просто, но оно вызывает каскадные сбои, которые могут привести к полному выходу системы из строя и даже к потере данных. Это недопустимо!

Более удачный подход: каждый компонент оказывает обратное давление на своих клиентов. Обратное давление — это принцип, согласно которому программный сервис, обнаружив, что он достиг предела возможностей или приближается к нему (максимальное число соединений, полное использование доступных буферов памяти и т. п.), сообщает об этом клиентам — либо посредством явных сообщений, либо путём отказа в соединении. Иными словами, сервис защищает собственное состояние ценой снижения качества обслуживания или отказа в обслуживании некоторых клиентов.

Если серверные компоненты спроектированы с учётом сигналов обратного давления, неожиданные скачки нагрузки приводят лишь к снижению производительности, а не к полному отключению всей системы.
Telegram METANIT.COM Обратное давление и архитектура (описание в следующем посте)
  • 👍 8
  • 👏 8
  • ❤ 3
  • ❤‍🔥 1
  • 🤣 1
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →