Przeczytałem to pytanie replikacja master / slave MySQL nie działa i jego odpowiedź:
Korzystanie z baz danych slave jest ledwo zaimplementowane w rdzeniu Drupala. Jeśli opracowujesz własne moduły, wówczas wywołania db_query muszą określić, że chcą używać bazy danych slave za pomocą tablicy $ options. Zobacz DatabaseConnection :: defaultOptions, aby dowiedzieć się, jak ustawić tę tablicę.
Czy istnieje sposób bez zabijania kociąt hakujących rdzeń, aby uzyskać db_query()
i db_select()
wykonać więcej niewolniczych zapytań SELECT?
Domyślnie funkcje te będą odpytywały master, chyba że otrzymają specjalne polecenie, aby zapytać slave (zobacz ich API). Musisz napisać db_query($query, $args, array('target' => 'slave'))
, aby wysłać zapytanie do urządzenia podrzędnego, a rdzeń (i wszystkie moduły) nie są napisane, aby to osiągnąć.
Wydaje się, że wykorzystują to tylko wyszukiwanie (patrz część podrzędna) i agregator.
Edycja: 25 października.
Widziałem, że nie ma już przepływu 7, ale nie jestem pewien, czy to teraz bardzo pomaga.
Nie znalazłem czegoś istotnego, więc spróbujmy dostać małą nagrodę, aby pomóc w uzyskaniu odpowiedzi.
Edycja: 31 października 31.
Martwię się głównie o komentarze Crella dotyczące tego tematu: Co zrobić z niewolnikami? .
Głównie występują problemy, gdy wysyłam SELECT
zapytania do urządzenia podrzędnego, co dzieje się z opóźnieniami w replikacji i faktem, że mogę chcieć zrobić to node_load()
zaraz po zapisaniu nowego węzła.
SELECT
zapytania? Jak radzisz sobie z opóźnieniami w replikacji i faktem, że ładowanie węzła zaraz po zapisaniu może powodować problemy?