Bonjour,
Dans le cadre de mes cours, je dois développer un chat instantané. Ce dernier doit fonctionner avec 2 serveurs dans le cas où il y ait un problème sur l'un des deux. Il doit aussi implémenter une BDD pour garder un historique des conversations, gérer les bans, login, etc.
Pour l'instant, le fonctionnement est le suivant :
Un client connecté sur le serveur1 envoie un message. Ce message est mis en BDD par le serveurs 1. Pour que les utilisateurs présents du serveur2 puissent voir le message, il faut que le serveur2 aille piocher le message le message dans la BDD.
C'est sur cette dernière étape que je rencontre mon problème.
Comment le serveur est sensé savoir quand il doit aller chercher ce message dans la BDD.
J'ai pensé à 2 solutions:
- Une boucle dans un thread qui parcours la BDD à intervalle régulier.
- Ouvrir un socket entre les 2 serveurs. Quand un des serveurs effectue une action sur la BDD, il en informe l'autre qui va aller chercher cette information.
Je me dis alors que quitte à avoir un socket ouvert entre les 2 serveurs, autant transmettre directement le message au travers de ce dernier.
Pensez-vous que ces solutions soient viables? Avez-vous d'autres pistes à me proposer ?
Je vous en remercie par avance.
Partager