Мы внедряем SNS + SQS для обработки и распространения событий в нашей архитектуре микросервисов, которая до сих пор полагалась на вызовы HTTPS для связи друг с другом. Мы рассматриваем возможность подключения нескольких очередей SQS к одной SNS topi c. События в очередях будут затем использоваться лямбда или службой, работающей в EC2.
Мой вопрос: насколько обобщенными должны быть c темы? Когда мы должны создавать новые темы?
Скажем, у нас есть пользовательский домен, который должен опубликовать sh двух событий - созданных и удаленных. Мы рассматриваем два варианта:
ВАРИАНТ A : Имеют две темы: «Пользовательский» и «Пользовательский». Каждый топи c гарантирует один тип события.
- потребители не должны будут беспокоиться об отбрасывании событий, в которых они не заинтересованы, поскольку они знают, что уже знают сообщения, поступающие от «Пользовательский» topi c относится только к пользовательским созданиям.
- несколько различных частей кода, публикуемого в одной и той же топи c
ВАРИАНТ B : Иметь один topi c, «пользователи», который принимает несколько типов событий
потребители будут нести дополнительную ответственность за фильтрацию по событиям или выполнение различных действий в зависимости от типа события (они также могут настроить свои очереди подписок для фильтрации определенных типов событий)
может обеспечить одного издателя для каждой топи c
У кого-нибудь есть сильные предпочтения к любому из вариантов и почему это будет?
В соответствующей заметке, где бы вы указали конфигурацию облака для каждого из ресурсов? (следует ли развертывать создание ресурсов очереди вместе с потребителями или они должны жить независимо от какого-либо из издателей / потребителей?)