Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Replikationsgeschwindigkeit

Da die MySQL-Replikationszeit eine unkontrollierbare Variable ist (selbst bei ordnungsgemäßen Implementierungen können Probleme auftreten, die die Replikation aufhalten oder blockieren), ist es am besten, sich nicht auf die Datenreplikation zu verlassen. Sie können das Problem in zwei Situationen unterteilen:

1) Ich bin der Benutzer, der eine CUD-Operation durchführt, ich erwarte, dass die R-Operation danach die Änderung widerspiegelt, die ich gerade vorgenommen habe. In diesem Fall müssen Sie die Daten unbedingt vom Master abziehen, da der Benutzer erwartet, dass seine Änderung Wirkung zeigt.

2) Ich bin ein externer Benutzer, ich weiß nicht, dass ein CUD-Befehl passiert ist, und es ist mir im Allgemeinen egal, daher ist die Rückgabe veralteter Daten akzeptabel (in 99 % der Implementierungen, sonst würden Sie wahrscheinlich kein PHP verwenden * ).

Eine Alternative zu Nr. 1 wäre, den Benutzer darüber zu informieren, dass sich seine Änderung ausbreitet und in einigen Situationen akzeptabel ist, z. Viele Websites werden Ihnen mitteilen, dass es bis zu y Minuten dauern kann, bis x angezeigt wird. Dies ist diese Situation in Aktion.

  • Wenn Sie sofortige Aktualisierungen benötigen, können Sie versuchen, in eine Cache-Schicht zu schreiben, die zusammen mit den (möglicherweise unzuverlässigen) DB-Daten abgefragt wird. Etwas wie memcached wäre ein erstklassiger Kandidat.