我的项目要求我与云外的许多设备进行通信.如果成功,这意味着数百万台设备.这些设备将不会运行Android或iOS,并将在路由器和防火墙后面运行(我不能假设他们有外部IP).
我希望使用SQS向云外的用户发送消息.为了允许服务器向单个用户发送消息,我设计的系统是每个客户端有一个队列.这可能意味着数百万(数十亿?)的队列.虽然它声明SQS可以支持无限队列,但我想确保我没有滥用系统.如果成功,数百万用户的概率非常高.
我知道SQS可能很昂贵,但我现在正在使用它以便于管理.
据我所知,SNS需要IOS/Android客户端或在消费者上运行的HTTP服务器.这就是我排除SNS的原因,我正在使用SQS.
我将通过SQS构建分布式云前端来处理客户端连接.这个前端只是一个包装器,它将对
客户端进行身份验证,并将它们转发到SQS队列.
我是否滥用SQS"无限队列"政策(SQS性能下降)?每个设备的消息传递是否有更简单的设计?