- MongoDB 8 jako zestawu replik (korzysta z transakcji). Trzech członków rozmieszczonych na trzech węzłach przetrwa utratę węzła; jeden członek również działa.
- Redis 7, jednego serwera z trwałością AOF. Redis przechowuje zmiany, które nie zostały jeszcze zapisane w MongoDB, sesje oraz komunikaty między usługami Overleaf. Overleaf łączy się z jednym serwerem Redis: Sentinel i Redis Cluster nie są obsługiwane.
Zamiast tego możesz korzystać z usług zarządzanych, takich jak MongoDB Atlas lub Redis Twojej chmury. Pomiń tę stronę i ustaw na nie
OVERLEAF_MONGO_URL oraz OVERLEAF_REDIS_HOST w kroku 4.1
MongoDB
10-mongo.yaml
PRIMARY, a pozostali SECONDARY. Job ponawia próby, dopóki wszyscy członkowie nie odpowiedzą, więc kilka nieudanych podów Job to normalne zjawisko.- Usługa headless wymaga
publishNotReadyAddresses: true: członkowie muszą odnaleźć się nawzajem po nazwie, zanim zestaw replik zacznie istnieć. - Członkowie są dodawani pod swoimi stałymi nazwami (
mongo-0.mongo.overleaf.svc.cluster.local), nigdy przez adresy IP podów, które zmieniają się przy każdym ponownym uruchomieniu. - W przypadku jednego członka ustaw
replicas: 1i pozostaw w Job tylkomongo-0.
2
Redis
20-redis.yaml
Pytania i odpowiedzi
MongoDB 8 ulega awarii przy uruchomieniu na najnowszym jądrze. Dlaczego?
MongoDB 8 ulega awarii przy uruchomieniu na najnowszym jądrze. Dlaczego?
Odpowiedź: MongoDB 8 nie działa na jądrze Linux 6.19 i nowszych (SERVER-121912). Odkomentuj zmienną środowiskową
GLIBC_TUNABLES w 10-mongo.yaml.Ile pamięci potrzebuje MongoDB?
Ile pamięci potrzebuje MongoDB?
Odpowiedź: Domyślnie MongoDB przeznacza na pamięć podręczną połowę pamięci węzła pomniejszoną o 1 GB i widzi pamięć węzła, a nie limit poda. Ustaw
--wiredTigerCacheSizeGB odpowiednio do swoich węzłów; przy 0.25 każdy członek zużywał około 200–260 MiB na naszych testowych węzłach z 4 GB pamięci.
