TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.81K subscribers
Post #1740 2.06K
Асинхронная коммуникация и потеря данных
(описание к предыдущему посту)

Асинхронная коммуникация масштабируема, слабо связана и устойчива. Но и она может столкнуться с проблемами. Одна из них - потеря данных.
Событийно управляемые системы выглядят простыми на первый взгляд: вы отправляете событие, другой сервис его получает и обрабатывает.
Где теряются данные:

1. Издатель отправляет событие, потом падает перед тем, как брокер подтвердит получение

2. Потребитель берет сообщени, потом падает перед обработкой

3. Потребитель обрабатывает сообщение, но запись в базу данных проходит неудачно без какого-нибудь уведомления

Как это предотвратить?

1. Постоянные очереди + синхронная отправка
Брокер сохраняет сообщение на диске перед подтверждением.
А издатель ждет подтверждения перед продолжением.

2. Режим подтверждения клиентом
Потребитель подтверждает сообщение только после успешной обработки.
Если потребитель упадет посередине процесса, сообщение останется в очереди для повторной попытки.

3. Поддержка последнего участника
Сообщение считается выполненным только тогда, когда данные надежно записаны.
Если вызов базы данных потерпел неудачу, подтверждение не отправляется.
  • 👍 3
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 →