Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[POSTGRESQL 9] Replication

1 réponse
Avatar
WebShaker
Salut.

Je me pose quelques questions sur la réplication dites Replication de
Flux donc sensé être plus ou moins "instantanée".
Alors plus ou moins car dans la pratique ca ne l'est pas du tout.

Donc ma question est "Comment sait-on (et peut-on savoir) si la
réplication d'une écriture a été réalisée."

Prenons un cas simple (par exemple je suis l'heureux PDG de twitter).
Une personne écrit un TWIT une fois ecrit on affiche la liste des TWITs.

Comment être sur que le TWIT est bien présent sur le serveur esclave ???

J'avais naïvement pensé que peut etre une transaction ne serait
considérée comme terminée qu'une fois que les serveurs esclaves auraient
été synchronisés, mais il ne semble pas que ce soit le cas...

Alors comment on fait?

Merci
Etienne

1 réponse

Avatar
WebShaker
Le 03/09/2010 14:21, WebShaker a écrit :
Je me pose quelques questions sur la réplication dites Replication de
Flux donc sensé être plus ou moins "instantanée".
Alors plus ou moins car dans la pratique ca ne l'est pas du tout.



Ah ben oui ca s'appelle la réplication synchrone, et a priori il n'y a
que PGCluster qui fait ca !

Alors comment on fait?



Et ben voila, j'y vais de ma solution (qui est concerne un site web).
En fait lorsque j'exécute une instruction d'écriture dans la base
(master), j'enregistre l'adresse IP de l'utilisateur dans une base dbm
avec l'heure a laquelle il à exécuter l'instruction.
ensuite lors de l'ouverture d'une nouvelle connexion (en lecture) a la
base de donnée, je contrôle que l'IP ne se trouve pas dans la base dbm.

Si elle s'y trouve depuis moins de 10 secondes (j'ai visé large)
alors la connexion se fait sur le maitre.
sinon je la fais sur l'un des esclaves.

voila c'est finalement assez simple, reste plus qu'a tester...

Merci
Etienne