Проектирование микросервиса: долгие задачи

Поділитися
Вставка
  • Опубліковано 28 вер 2024
  • Долгими задачами мы будем называть длительную работу функции, которую слишком долго ждать. В таких случаях часто применяют фоновую обработку. С точки зрения архитектуры приложения, подобный функционал реализуется с помощью очереди (соответствующая таблица в базе данных, Apache Kafka, RabbitMQ). Схематические примеры вы сейчас видите на экране. Архитектура схемы достаточно проста: мы получаем от пользователя запрос и сразу возвращаем ему статус ответа. А обработку очереди осуществляют в фоновом режиме, например, с помощью CRON запускают скрипт. Кстати, вариант с Kafka часто применяют в случаях экстремальных нагрузок, когда СУБД не может справляться с потоком запросов.

КОМЕНТАРІ • 2

  • @Snowman8526
    @Snowman8526 Рік тому

    У меня задача простенькая. обрабатывающий клиент делает запрос к бд FOR UPDATE SKIP LOCKED и пока клиент работает другой клиент к этой записи не имеет доступа.

  • @Artem-wk1vn
    @Artem-wk1vn Рік тому

    А разве тут не надо было бы указать что надо использовать горутины в Go?