ich benutze lesen und MySQL Verbindungsaufbau in meinem Laravel 5.2 App schreiben:Laravel lesen und schreiben Verbindung nicht synchron
'mysql' => [
'write' => ['host' => env('DB_HOST_WRITE', 'localhost'),],
'read' => ['host' => env('DB_HOST_READ', 'localhost'),],
'driver' => 'mysql',
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null
]
Die Website läuft auf mehreren Servern mit einem Load-Balancer.
Nun gibt es in der App Fälle von Lese- und Schreiboperationen nacheinander, z.
- neue Datensätze einfügen in die Datenbank
Mit dem aktuellen Verbindungsaufbau einige der neu eingefügten Datensätze auswählen, kann es vorkommen, dass die Auswahl nichts zurück, auch wenn die Datensätze eingefügt wurden korrekt.
Was können die Gründe dafür sein?
Okay, wie viele Datenbanken Knoten, die Sie verwenden, welcher Algorithmus oder Software, die Sie für die Synchronisation verwenden .. Datenbanken Sync kann aufgrund der Netzwerk-Latenz nicht sofort, Verarbeitungsverzögerungen oder absichtlich. –
Wir haben 2 Knoten. Als Software verwenden wir Amazon Aurora. Wie stelle ich sicher, dass wir eine stabile Synchronisierung haben? – lesssugar
Nun, ich bin kein Experte in Aurora, aber nach ihrer Website gibt es etwa Latenz von 100 ms für die Replikation. versuchen, Verzögerung zwischen der Einfügung und der Auswahl Operationen ca. 200 ms einfügen und sehen, ob dies löst es .. Dann Sie müssen tiefer in Aurora selbst graben –