2017-02-01 12 views
0

Итак, у меня есть эластичное приложение для фасонов с масштабируемым сетевым ярусом, обслуживаемым за ELB. Короче говоря, мне нужно уметь подписывать конкретный экземпляр внутри моего веб-уровня на тему SNS. Безопасно ли мне использовать стандартный метод для получения IP-адреса экземпляра (как описано в python здесь How can I get the IP address of eth0 in Python?), а затем просто подписаться на тему SNS, используя этот ip в качестве http-подписчика?Как подписать конкретный экземпляр в приложении эластичного бобового стежка к теме SNS?


Почему? Хороший вопрос ...

Мой datamodel состоит из множества объектов, многие из которых могут иметь прикрепленный набор пользователей, которые могут захотеть наблюдать эти объекты. Этот веб-уровень в моем приложении отвечает за обработку интерфейса сокета (используя socket.io) для клиентских приложений.

Когда пользователь создан в системе, это тоже тема SNS для пользователя, позволяющая уведомлять пользователей о том, что объект заинтересован в изменениях. Как я планирую установить это, клиентское приложение будет подключаться к EB через socket.io, после чего экземпляр сервера, к которому он подключен, будет подписаться на тему SNS этого пользователя. Затем, когда интересный объект изменится, уведомления будут отправляться в темы связанного пользователя, таким образом, уведомив экземпляр сервера, к которому клиентское приложение имеет открытое соединение, которое затем может отправить сообщение в сокет.

Я считаю важным, чтобы конкретный экземпляр был подписан, а не внешний CNAME или IP-адрес веб-уровня, поскольку клиентское приложение подключено к определенному экземпляру, и поэтому только этот экземпляр может отправлять сообщения через его сокет. Подписывание балансировщика нагрузки было бы неудобным, поскольку уведомление может быть доставлено экземпляру, к которому пользователь не подключен.

Я считаю, что вопрос наверху - это все, что мне нужно, но я открыт для творческих решений, если мои рассуждения кажутся ошибочными ??

ответ

0

Просто заставляйте кого-то застревать в этом же кроличьем отверстии ... Решением было использовать Redis pub/sub, а не SNS и SQS.

 Смежные вопросы

  • Нет связанных вопросов^_^