Je travaille sur un projet dans lequel des clients non fiables (potentiellement des milliers) seront tous en contact avec un serveur central. Le trafic de messages sera faible, et chaque client sera invisible pour les autres (en d'autres termes, ils devraient être incapables de se parler ou d'espionner les canaux des autres).
RabbitMQ semble être une solution idéale. Il servirait d'intermédiaire entre mon application et les clients. Les clients se connecteraient directement à RMQ, chacun avec sa propre file d'attente, et RMQ servirait d'intermédiaire pour les messages entre les clients et mon serveur.
Ma question est donc la suivante : En supposant que je mette tout en place (principalement) correctement (authentification, chaque client est un utilisateur distinct, permissions sur les files d'attente, etc.), RabbitMQ est-il sûr pour ce type d'application publique ? Quelqu'un a-t-il des exemples d'une configuration similaire dans la nature ?
À titre d'exemple, nginx et sshd sont conçus pour être accessibles au public, alors qu'un produit comme MongoDB ne l'est pas du tout. Même si je configure des noms d'utilisateur et des mots de passe individuels sur Mongo et que je définis des autorisations sur des collections individuelles, je serais mal à l'aise de laisser des clients non fiables s'y connecter directement.