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 Antwort
0
Akzeptierte Antwort

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
beantwortet vor 4 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen