sql >> Database teknologi >  >> RDS >> Mysql

Rails Octopus Gem - Master-Slave Replikationsforbindelsesadfærd, når slaven er nede

Som jeg læste i dette blogindlæg en slukket eller ikke reagerende slave kan forårsage applikationsfejl, fordi Octopus' standardadfærd er at skrive alle data til masteren og læse alle data fra slaverne (da data skrevet til masteren derefter replikeres til alle tilsluttede slaver). Som angivet i Octopus-wiki, afsnittet "Flere slaver" læsning i et miljø med flere slaver udføres ved hjælp af round robin, så det altid henter data fra en slave som standard.

Også taget fra ovennævnte blog:Som en reservemekanisme bør du læse data fra Master direkte (ved hjælp af .using(:master) ) hvis ingen af ​​slaveknuderne er tilgængelige, eller data ikke er blevet fuldt replikeret til slaverne endnu. Det kan også være en mulighed at cache ændringer/resultater applikationsmæssigt for at forhindre gentagne læsninger fra databasenoderne.




  1. MySQL Vælg både dette og det

  2. Doktrin DQL join på nullable kolonner

  3. Sådan fungerer DAYOFMONTH() i MariaDB

  4. Hastighed for IN nøgleord i MySQL/PostgreSQL