Zacznijmy wymieniając kilka faktów:Migracja Redis do AWS Elasticache przy minimalnym przestoju
- Elasticache nie może być niewolnikiem mojej istniejącej konfiguracji Redis. Prawdziwy wstyd, który byłby o wiele bardziej skuteczny.
- Mam tylko jeden serwer Redis do migracji, z około 3 GB danych.
- Przestój musi być krótszy niż 10 minut. Zakładam, że zwykłe "zatrzymaj witrynę, zatrzymaj redis, klaster zaopatrzenia z migawką" potrwa dłużej.
podobne do tego pytania: How do I set an elasticache redis cluster as a slave?
Jeden pomysł na jak to może działać:
- Set Redis użyć AOF i BGSAVE wyzwalania w tym samym czasie.
- Gdy BGSAVE się zakończy, zapewnij klaster Elasticache z nasieniem RDB.
- Zatrzymaj witrynę i zamknij moją lokalną instancję Redis.
- Użyj narzędzia AOF-Replay, aby odtworzyć AOF w Elasticache.
- Uruchom ponownie witrynę wskazaną na klastrze Elasticache.
Moje pytania:
- Jak mogę zagwarantować, że mój plik AOF zaczyna się dokładnie w tym momencie plik RDB kończy, i że żadne dane nie zostaną napisane pomiędzy?
- Czy istnieje narzędzie AOF wspierane przez opiekunów Redis, czy są wszystkie rozwiązania innych firm, a zatem (potencjalnie) o wątpliwej wiarygodności? *
* Bez obrazy przeznaczone do jakichkolwiek autorów takich narzędzi , Jestem pewien, że są świetni, po prostu czuję się o wiele pewniej, używając narzędzia napisanego przez ten sam zespół co produkt, aby uniknąć potencjalnych błędów zgodności.
Czy Twoja aplikacja może działać bez oprogramowania Redis? Czy będzie wolniej (oczywiście brak dostępu do pamięci podręcznej), czy może się nie powieść? –
Jak aktywni są Twoi użytkownicy przez noc? 3 rano 5? Właśnie wtedy migrowałbym poważną zmianę w aplikacji produkcyjnej, która musiała być dostępna dla naszych użytkowników biznesowych. Nawet jeśli twoja aplikacja jest używana 24 godziny na dobę, szanse na to, że masz niski okres użytkowania, który możesz zaplanować, aby zminimalizować zauważony efekt, jeśli jesteś w trybie offline przez 30 minut podczas migracji. –
Aplikacja jest w większości bezużyteczna bez Redis i nie ma tak naprawdę codziennego schematu użytkowania. Jest to stale ładowana aplikacja w ciągu 24 godzin. Co sprawia, że zgadniesz, że to tylko 30 minut przestoju? – arrtchiu