Вставить элемент в очередь в sns после истечения времени ttl

Я хотел бы добиться следующей архитектуры с использованием SQS и SNS:

  1. Push-сообщение в очередь SQS с задержкой
  2. Уведомить всех абонентов, использующих SNS, по истечении времени задержки сообщения (ttl)

Я знаю, как сделать первую (практическую) часть, но не знаю, как интегрировать SQS с SNS. Или, может быть, в этом случае следует применить какую-то другую архитектуру?

1

Решение

Хотя вы можете отправить сообщение в очередь задержки SQS (с задержкой до 15 минут), вам все равно понадобится приложение, чтобы вытащить сообщение из очереди и опубликовать его в теме SNS. Насколько я знаю, в SQS / SNS нет встроенной функции для этого **. Или вы можете просто удержать сообщение, а затем, через некоторое время, опубликовать его непосредственно в теме SNS, но тогда вы не выиграете от долговечности SQS.

** Обратите внимание, что есть функция разветвления, где вы можете опубликовать тему SNS и подписать несколько очередей SQS на эту тему, чтобы каждая подписанная очередь получала копию сообщения для независимой обработки. Не ваше дело, но все равно стоит знать об этом.

Возможно, стоит остановиться на том, что вы пытаетесь построить здесь, если уместны другие шаблоны проектирования.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]