Это анти-паттерн для отправки асинхронного сообщения "себе"
Для обеспечения отказоустойчивости и надежности иногда в нашей архитектуре мы предпочитаем, чтобы служба отправляла сообщение в очередь SQS, которую оно потребляет из себя.
Это своего рода надежный асинхронный способ обработки события.
Идея состоит в том, что если мы собираемся выполнить операцию, которая имеет внешние последствия, такие как отправка электронного письма, вызов API и т. Д.... но мы не возражаем против того, чтобы это произошло на более позднем этапе, мы использовали бы это, чтобы, если Ошибка вызова: сообщение не будет подтверждено и будет повторено в соответствии с политикой доставки в очередь. Это переживет также системный сбой - например, сервис перестанет работать между генерацией сообщения и его обработкой, а когда он вернется позже, он будет использовать сообщение и попытаться снова.
Я понимаю, что могут быть сценарии, когда сообщения могут быть доставлены более одного раза, что может привести к обработке дублирующихся событий, если код не может обнаружить это (например, двойная отправка электронной почты) - но меня больше интересует, будет ли это рассматриваться анти-шаблон?