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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南