2015-02-10 56 views
2

我們正在使用Elastic Beanstalk來提供REST API。現在,我想開發一個以異步方式從SNS主題提供通知的終端。如何將自動縮放組中的每個服務器訂閱/取消訂閱到SNS

爲了接收這些通知,我需要將API服務器訂閱到SNS主題。我怎麼能這樣做,考慮到EBS應用程序可以擴展到多個服務器並再次縮小?我不希望很多訂閱了SNS主題的無效鏈接...

回答

0

在春天的世界裏,我們有一個@PostConstruct,它在服務器啓動時被調用,在那裏你可以訂閱「this.server」url到給定的主題(你可能需要建立一個適當的工作訂閱網址 - 使用InetAddress et el)。

因此,有工作訂閱網址使用@RestController確認這樣的訂閱瞬間導致sns端點註冊。任何新的服務器都會執行相同的操作(當創建新的堆棧時)。我們還需要額外的代碼以便隨後使用通知消息,並在確認的訂閱終端接收到某個消息時執行一些操作。

0

AWS希望您使用SNS的方式不是直接訂閱它。任何需要在組件中觸發某些事件的通知都應該使用SQS隊列緩衝通知。出於這個原因,我們選擇使用亞馬遜託管的Redis發行版對可變/可擴展的Subs組執行Pub-Sub。