Еще один полезный сервис Яндекс.Облака, который может использоваться для связи различных сервисов между собой - это так называемый Message Queue или Очередь сообщений.
С помощью этого сервиса вы можете значительно упростить себе жизнь для решения каких-то сложных задач, о которых мы сейчас и поговорим.
Для начала давайте разберемся, что такое очередь сообщений.
Сообщение - это HTTP-запрос с данными (текст или json), который передается на удаленный сервер. Сообщение - это просто передача какого-то набора данных и этот набор данных передается на какой-то удаленный сервер.
См. видео, чтобы увидеть схему.
У нас есть отправители сообщений (Senders, Producers) и есть получатели (Receivers, Consumers). Это две программы, которые отправляю и получают данные.
Мы можем отправлять некий набор данных и этот набор данных поступает в некую очередь сообщений. Эти сообщения выстраиваются в очередь и отправляются получателям.
Вопрос, который возникает, зачем нам промежуточное звено в виде очереди, когда мы можем передать данные напрямую от отправителя, к получателю?
Очереди сообщений предоставляют многие компании, которые предоставляют услуги к Serverless технологиям. Это Яндекс.Облако, Google облако, амазон и др.
Первая причина, для чего нужна очередь сообщений - это независимость систем. Отправители работают отдельно от получателей. Программа отправителя сообщений может на работать на одном языке программирования, а получателя на другом.
Вторая идея независимости в том, что задачи, которые стоят перед отправителями и получателями разные. Отправитель может отправить сообщение и не ждать пока получатель его каким-то образом обработает.
В этом вся идея, что отправителю не нужно ждать результатов вычислений от получателя. Благодаря этому мы можем выполнять длинные задачи, которые требуют больших вычислительных мощностей и времени на их вычисление.
Важно, что получатель, после обработки сообщения, должен удалить его из очереди.
У нас может быть несколько получателей и они могут быть обработчиками больших данных. Это значительно ускоряет процесс обработки.
Если получатель не удаляет сообщение из очереди, то это сообщение остается в очереди и через какое-то время получателям придется снова его обработать.
Одна из сфер применения очередей сообщений - это долгие и ресурсозатратные операции. Это может быть обработка больших массивов данных, подготовка отчетов, вычислительные операции и.т.д.
Клиент посылает запрос в очередь с просьбой подготовить ему отчет. Получатели обрабатывают отправленный набор данных и как он будет обработан, мы сохраняем обработанный результат и выдаем его клиенту.
Вот такая идея очереди сообщений и давайте в следующих видео посмотрим, как можно с этой очередью сообщений работать.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти