Scaling websocket notifications

0

I'm building an e-commerce app and each and every day, we have a special offer at noon. Every customer is notified at noon and connects to the website where they are added to a queue. They open a websocket between the browser and the backend (API Gateway) and at some point they want to send a notification to all users through the websocket (via a lambda looping over all connectionId), which takes too long (around 50k users).

I had a look at different solutions (MQTT over websocket with AWS IOT, Appsync), but both need Cognito, and I already have another authentication mechanism (in-house).

I saw it is also possible to use signature v4 for MQTT over websocket, we could have an endpoint to get this temporary signature but I'm not sure that's a really good practice.

I also thought about spreading (fan out) the sending of notifications.

Am I missing a better alternative?

1 回答
0
已接受的回答

Broadcasting over WebSockets is built into AppSync. Some articles on the subject:

https://aws.amazon.com/blogs/mobile/aws-appsync-real-time-reference-architecture/ https://aws.amazon.com/blogs/mobile/appsync-realtime/ https://aws.amazon.com/blogs/mobile/appsync-websockets-python/

There's no looping over a list of connections. It's true brodcasting.

AWS
awsed
已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则