2

Мы используем эластичный бобовый шток для обслуживания REST API. Теперь я хочу разработать конечную точку, которая будет обслуживать уведомления из темы SNS асинхронным образом.Как подписаться/отменить подписку на каждый сервер в группе автомасштабирования до SNS

Чтобы получать эти уведомления, мне нужно подписаться на API-серверы по теме SNS. Как я мог это сделать, учитывая сценарий, что приложение EBS может масштабироваться до нескольких серверов и снова уменьшаться? Я не хочу, чтобы много мертвых ссылок было подписано на тему SNS ...

ответ

0

В весеннем мире у нас есть @PostConstruct, который вызывается при запуске сервера, где вы можете подписаться на «this.server» url на (вам может потребоваться создать правильный рабочий URL подписки - используя InetAddress et el).

Следовательно, существует рабочий URL-адрес подписки с использованием @RestController, который подтверждает, что такая подписка мгновенно вызывает регистрацию конечной точки sns. Любые новые серверы будут делать то же самое, что и сами регистрируются (при создании нового стека). Мы также нуждаемся в дополнительном коде для потребления уведомлений в дальнейшем и делаем что-то, когда подтвержденные конечные точки подписки получают их.

0

Способ, которым AWS хочет, чтобы вы использовали SNS, напрямую не подписывается на него. Любое уведомление, которое должно запускать что-то в компоненте, должно буферизовать уведомления в очереди SQS. По этой причине мы решили сделать Pub-Sub с переменной/масштабируемой группой Subs, используя распределенное распределение Redis Amazon.