- MongoDB 8 come replica set (usa le transazioni). Tre membri distribuiti su tre nodi sopravvivono alla perdita di un nodo; funziona anche un solo membro.
- Redis 7, un unico server con persistenza AOF. Redis contiene le modifiche non ancora scritte in MongoDB, le sessioni e i messaggi tra i servizi di Overleaf. Overleaf si collega a un unico server Redis: Sentinel e Redis Cluster non sono supportati.
In alternativa puoi usare servizi gestiti, come MongoDB Atlas o il Redis del tuo cloud. Salta questa pagina e imposta
OVERLEAF_MONGO_URL e OVERLEAF_REDIS_HOST su di essi al passaggio 4.1
MongoDB
10-mongo.yaml
PRIMARY e gli altri SECONDARY. Il Job riprova finché tutti i membri non rispondono, quindi alcuni pod del Job falliti sono normali.- Il Service headless richiede
publishNotReadyAddresses: true: i membri devono trovarsi a vicenda per nome prima che il replica set esista. - I membri vengono aggiunti con i loro nomi stabili (
mongo-0.mongo.overleaf.svc.cluster.local), mai con gli IP dei pod, che cambiano a ogni riavvio. - Per un solo membro, imposta
replicas: 1e mantieni solomongo-0nel Job.
2
Redis
20-redis.yaml
Q&A
MongoDB 8 si arresta in modo anomalo all'avvio su un kernel recente. Perché?
MongoDB 8 si arresta in modo anomalo all'avvio su un kernel recente. Perché?
Risposta: MongoDB 8 non funziona su kernel Linux 6.19 e successivi (SERVER-121912). Rimuovi il commento dalla variabile d’ambiente
GLIBC_TUNABLES in 10-mongo.yaml.Quanta memoria richiede MongoDB?
Quanta memoria richiede MongoDB?
Risposta: Per impostazione predefinita MongoDB usa per la sua cache metà della memoria del nodo meno 1 GB, e vede la memoria del nodo, non il limite del pod. Imposta
--wiredTigerCacheSizeGB in base ai tuoi nodi; con 0.25 ogni membro è rimasto a circa 200-260 MiB sui nostri nodi di test da 4 GB.
