Bonjour à tous,
Tout d'abord, merci à ceux qui prendront du temps à me lire et à répondre à mes interrogations.
Je ne sais pas si cette partie est la plus adaptée, mais c'est ce qu'il me semblait.
Voici ce qui m'amène.
Je suis en train de concevoir un site pour améliorer mes connaissances en PHP/MySQL et je me fixe donc certains défis et innovations (pour moi) sur certaines choses.
Celle sur laquelle je bute actuellement est la meilleure manière de gérer différentes bases de données MySQL situées sur différents serveurs.
J'aimerais savoir quelle serait la meilleure facon de fonctionner sachant que j'ai un serveur principal (portail) et plusieurs serveurs secondaires.
J'avais donc pensé à mettre mes bases de données en réplication sur une seule table (users) qui est commune au portail et aux serveurs secondaires.
Seulement voilà, j'ai du mal à trouver le fonctionnement exact de la réplication couplée à PHP et donc si ce que je veux faire fonctionne avec MySQL.
Ce que j'aimerais faire est la chose suivante:
- Les utilisateurs créent leurs comptes sur le portail
- Ces comptes (table 'users') sont répliqués sur les serveurs secondaires
- L'administration par l'utilisateur de son compte se font sur les serveurs secondaires (changement de mot de passe, modification du profil, ... table 'users' toujours)
- Tous les serveurs doivent être à jour au niveau de ces modifications.
Je me demandais donc si le couple PHP/MySQL supporterait ce genre de fonctionnement avec la réplication et à quoi cela ressemblerait.
J'ai lu que MySQL supportait la réplication de certaines tables uniquement. Est-ce bien le cas?
Si un utilisateur change une information de son compte sur un serveur secondaire (Slave), où la requète va-t-elle aller? Envoyée directement au portail (master)? Si oui, que se passerait-il si le portail était offline? Est-ce mis en attente? Est-ce que la modification serait impossible?
Et là ca concerne un peu plus PHP, mais concrètement, qu'est-ce que des bases de données MySQL en réplication vont changer à la manière dont je manipulais ma base de données? Des commandes spécifiques pour les insert ou les update? MySQL gère-t-il cela tout seul et c'est transparent?
Voilà.
Je cherche donc des personnes capables de répondrent correctement à ces quelques questionnement profond sur la réplication MySQL et ses possibilités.
[Résumé]: Mon but étant donc de faire un portail qui crée les comptes, qui soit Master des serveurs secondaires; qu'il partage uniquement la table 'users' de sa base de données; et que les serveurs secondaires fassent les requètes pour les modifications des données du compte.
J'espère avoir été assez explicite, sinon j'essayerai de l'être + la prochaine fois.
Merci d'avance à tout ceux qui se pencheront sur mon topic!
Partager