¿Ideas para escalar el chat en AWS?

Estoy tratando de encontrar la mejor solución para escalar un servicio de chat en AWS. He encontrado un par de soluciones potenciales:

Redis Pub / Sub - Cuando un usuario establece una conexión a un servidor, ese servidor se suscribe a la ID de ese usuario. Cuando alguien envía un mensaje a ese usuario, un servidor realizará una publicación en el canal con la identificación del usuario. El servidor al que está conectado el usuario recibirá el mensaje y lo enviará al cliente correspondiente.

SQS: he pensado en crear una cola para cada usuario. El servidor al que está conectado el usuario sondeará (o usará SQS de sondeo largo) esa cola. Cuando se descubre un nuevo mensaje, se enviará al usuario desde el servidor.

SNS - Realmente me gustó esta solución hasta que descubrí el límite de 100 temas. Necesitaría crear un tema para cada usuario, que solo admitiría 100 usuarios.

¿Hay alguna otra forma en que se pueda escalar el chat utilizando AWS? ¿Es viable el enfoque SQS? ¿Cuánto tiempo tarda AWS en agregar un mensaje a una cola?

Respuestas a la pregunta(6)

Su respuesta a la pregunta