Перейти к содержимому

Обзор

Важно

Сервис предоставляется на стадии готовности Preview.

Serverless Queue — это Kafka-совместимый сервис для обработки потоков сообщений в реальном времени.

В сервисе доступен виртуальный кластер, в котором можно создавать ресурсы для обработки потоков сообщений — топики и группы потребителей. Сервис подходит для нерегулярной нагрузки и если поддержка отдельного Kafka-кластера экономически нецелесообразна.

Сценарии использования:

  • Обработка заказов в интернет-магазине
    Прием и обработка заказов в интернет-магазине в периоды, когда трафик возрастает в несколько раз. Очередь буферизует запросы и гарантирует их сохранность, даже если система обработки платежей временно перегружена.
  • Отправка уведомлений и рассылок
    Массовая отправка электронных писем и push-уведомлений. Например, рассылка новостей, уведомлений о статусе заказа или восстановление паролей.
  • Обработка медиафайлов
    Конвертация изображений, сжатие видео или генерация превью после загрузки пользователем. Очередь позволяет выполнять такие ресурсоемкие операции в фоновом режиме, не задерживая отклик интерфейса.
  • Сбор и обработка логов
    Централизованный сбор событий и ошибок с множества серверов и микросервисов для последующего анализа, мониторинга и расследования инцидентов.
  • Совместимость с Apache Kafka
    Использование стандартного Kafka-протокола позволяет работать со стандартными клиентскими библиотеками (Java, Python, Go) и инструментами (kafkactl, AKHQ, Kafka CLI). Это позволяет мигрировать в Serverless Queue как из собственных Kafka-кластеров, так и из облачных Kafka-сервисов без изменения кода приложений.

  • Бессерверная архитектура
    Для использования сервиса не нужно управлять кластерами. Достаточно только подключиться к виртуальному кластеру.

  • Автоматическое масштабирование и высокая доступность
    Сервис реплицирует данные и распределяет нагрузку. Это гарантирует надежную доставку сообщений и устойчивость к сбоям.

  • Автоматическая очистка
    Сообщения автоматически удаляются через заданное время. Это позволяет управлять сроком жизни данных и за счет этого экономить объем занимаемого места.

В основе архитектуры Serverless Queue лежит логический брокер с несколькими равнозначными репликами, которые принимают и распределяют сообщения для обработки. Для обработки трафика выделяется столько ресурсов, сколько нужно в текущий момент.

Потоки данных в сервисе группируются по темам и направляются в топики. Например, один топик может содержать сообщения с координатами движения курьера, а второй топик — информацию о статусе доставки. Каждый топик состоит из одного или нескольких разделов, в которые брокер записывает входящие сообщения.

Сообщения поступают в топики от производителей (producers) — приложений и сервисов-источников. Производитель отправляет сообщение в нужный топик и выбирает раздел, в который будет записано это сообщение.

Чтение и обработку сообщений выполняют потребители (consumers) — приложения и сервисы-получатели. Они могут работать:

  • независимо — каждый потребитель читает все сообщения из топика, например, для мониторинга;
  • в составе группы потребителей — разделы распределяются между потребителями в группе, и каждый потребитель читает сообщения только из своих разделов.

При резком росте трафика достаточно подключить в группу потребителей нужное количество экземпляров приложения-потребителя. Сервис автоматически перераспределит разделы между ними.

Все сообщения передаются по защищенному соединению (SASL_SSL) и хранятся до 10 дней, после чего автоматически удаляются.

В сервисе реализована репликация. Однако управление репликацией недоступно пользователю. Данные разделов реплицируются за счет хранения в распределенном отказоустойчивом хранилище. При этом фактор репликации зафиксирован равным 1 по количеству брокеров.

Доступ к управлению ресурсами сервиса регулируется сервисными ролями.

Чтобы начать пользоваться сервисом Serverless Queue, нажмите кнопку Оставить заявку на странице сервиса.

После обработки заявки на странице сервиса станет доступна его активация. Для активации достаточно, имея роль admin на уровне проекта, нажать кнопку Активировать.

На стадии Preview сервис не тарифицируется.