sql >> Database >  >> RDS >> Mysql

Rails Octopus Gem - Verbindingsgedrag Master-Slave Replicatie wanneer slave down is

Zoals ik lees in deze blogpost een uitgeschakelde of niet-reagerende slave kan applicatiefouten veroorzaken omdat het standaardgedrag van Octopus is om alle gegevens naar de Master te schrijven en alle gegevens van de Slaves te lezen (omdat gegevens die naar de Master worden geschreven, dan worden gerepliceerd naar alle aangesloten Slaves). Zoals vermeld op de Octopus wiki, "Meerdere slaven" sectie lezen in een omgeving met meerdere slaven wordt gedaan met behulp van round robin, dus het haalt standaard altijd gegevens van een slave op.

Ook overgenomen van bovengenoemde blog:als een fallback-mechanisme moet je gegevens rechtstreeks van de Master lezen (met behulp van .using(:master) ) als geen van de Slave-knooppunten beschikbaar is of als de gegevens nog niet volledig naar de slaves zijn gerepliceerd. Het kan ook een optie zijn om wijzigingen/resultaten applicatiegewijs te cachen om herhaald lezen van de databaseknooppunten te voorkomen.




  1. Mogelijk voor PHP-app die bovenop codeigniter is gebouwd om tegelijkertijd verbinding te maken met een MySQL EN een mongoDB-database?

  2. MS SQL Server-referenties opslaan in een MySQL-database

  3. SQLAlchemy:filteren op waarden die zijn opgeslagen in de geneste lijst van het JSONB-veld

  4. PHP om afbeeldingen op te slaan in MySQL of niet?