Tak to mozliwe. Używam go z powodzeniem używając RDS
, dla konkretnego przypadku lokalnej pamięci podręcznej.
Musisz ustawić read_only
parametr w Twojej replice na 0
. Musiałem zrestartować serwer, aby ten parametr zadziałał.
Będzie dobrze działać, jeśli użyjesz różnych nazw tabel, ponieważ RDS nie pozwala na ustawienie:replicate-ignore-table
parametr.
Pamiętaj, że między master<>slave nie może dojść do kolizji danych. Jeśli istnieje instrukcja, która działa dobrze na MASTER
, ale nie działa na SLAVE
, to właśnie zepsułeś swoją replikację. Może się to zdarzyć m.in. po utworzeniu tabeli na SLAVE
najpierw po pewnym czasie dodałeś tę tabelę do MASTER
. CREATE
Instrukcja będzie działać czysto na MASTER
, ale nie powiedzie się na SLAVE
, ponieważ tabela już istnieje.
Zakładając, że musisz być naprawdę ostrożny, pozwalając aplikacji pisać do SLAVE
. Jeśli zapomnisz / lub popełnisz błąd i zaczniesz pisać, aby odczytać replikę dla niektórych innych danych, w końcu możesz utracić dane lub napotkać trudne do debugowania problemy.