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?