Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Rails Octopus Gem - zachowanie połączenia replikacji master-slave, gdy urządzenie podrzędne nie działa

Jak przeczytałem w tym poście na blogu wyłączone lub nieodpowiadające urządzenie podrzędne może powodować awarie aplikacji, ponieważ domyślnym zachowaniem Octopus jest zapisywanie wszystkich danych do urządzenia nadrzędnego i odczytywanie wszystkich danych z urządzeń podrzędnych (ponieważ dane zapisane do urządzenia nadrzędnego są następnie replikowane do wszystkich podłączonych urządzeń podrzędnych). Jak podano w Wiki Octopus, sekcja „Wiele niewolników” odczytywanie w środowisku wielu urządzeń podrzędnych odbywa się za pomocą metody okrężnej, więc domyślnie zawsze pobiera dane z urządzenia podrzędnego.

Również zaczerpnięte z wyżej wspomnianego bloga:jako mechanizm awaryjny należy bezpośrednio odczytywać dane z Mastera (za pomocą .using(:master) ), jeśli żaden z węzłów podrzędnych nie jest dostępny lub dane nie zostały jeszcze w pełni zreplikowane do podrzędnych. Może to być również opcja buforowania zmian/wyników pod kątem aplikacji, aby zapobiec powtarzającym się odczytom z węzłów bazy danych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego mysql pomija niektóre identyfikatory automatycznego przyrostu?

  2. Zrozumienie struktury rekordów MyISAM

  3. Jak podzielić ciąg nazwy w mysql?

  4. Dlaczego NHibernate nie obsługuje przetwarzania wsadowego w MySql

  5. Przechowywanie ciągu binarnego w MySQL