Vov*_*sov 2 notifications broadcast publish-subscribe amazon-sqs
我在Amazon EC2中有多个应用程序实例,每个实例都运行多个工作进程.我想要的是每个工作进程订阅一些通知(例如配置更改).此通知应基本上是广播消息,以便一旦发送 - 每个工作人员都会收到它.
我知道SQS不支持广播消息.通过类似的问题/线索,我看到了使用SNS而不是SQS的建议.由于以下原因,我不确定这对我有用:
目前我有一个基于第三方的解决方案 - 我正在使用0MQ发布/订阅服务器.但我正在寻找AWS提供的一些开箱即用的解决方案.
谢谢,Vovan
想到的开箱即用的AWS解决方案是创建一个SNS主题,然后对于每个实例,当实例启动时,它将创建自己的SQS队列并将队列订阅到SNS主题,这样每个队列都会获得您发布到SNS的每条消息的广播副本.
您希望在实例终止时取消订阅并删除这些队列,这可以通过生命周期挂钩来完成.
如果您不想使用服务器来管理生命周期钩子的处理(将启动或终止事件发布到SNS或SQS),您可以创建AWS API Gateway端点以触发AWS Lambda函数,然后订阅API使用https进行SNS主题的网关端点,以处理Lambda中的清理任务,无需服务器.
这几项服务一起工作,可能听起来有点复杂,但价格非常便宜,几乎不需要维护或注意.