- MongoDB 8 як набір реплік (він використовує транзакції). Три учасники, розподілені на три вузли, переживуть втрату вузла; один учасник також працює.
- Redis 7, один сервер з AOF-персистентністю. Redis зберігає правки, які ще не записано в MongoDB, сесії та повідомлення між службами Overleaf. Overleaf підключається до одного сервера Redis: Sentinel і Redis Cluster не підтримуються.
Натомість можна використовувати керовані сервіси, як-от MongoDB Atlas або Redis вашої хмари. Пропустіть цю сторінку й вкажіть їх у
OVERLEAF_MONGO_URL і OVERLEAF_REDIS_HOST на кроці 4.1
MongoDB
10-mongo.yaml
PRIMARY, а решта — SECONDARY. Job повторює спроби, доки не відповідять усі учасники, тож кілька невдалих подів Job — це нормально.- Headless Service потребує
publishNotReadyAddresses: true: учасники мають знаходити один одного за іменем ще до того, як набір реплік буде створено. - Учасників додано за їхніми стабільними іменами (
mongo-0.mongo.overleaf.svc.cluster.local), а ніколи не за IP-адресами подів, які змінюються після кожного перезапуску. - Для одного учасника встановіть
replicas: 1і залиште в Job лишеmongo-0.
2
Redis
20-redis.yaml
Q&A
MongoDB 8 аварійно завершується під час запуску на новому ядрі. Чому?
MongoDB 8 аварійно завершується під час запуску на новому ядрі. Чому?
Відповідь: MongoDB 8 не працює на ядрі Linux 6.19 і новіших (SERVER-121912). Розкоментуйте змінну середовища
GLIBC_TUNABLES у 10-mongo.yaml.Скільки пам'яті потрібно MongoDB?
Скільки пам'яті потрібно MongoDB?
Відповідь: За замовчуванням MongoDB використовує для кешу половину пам’яті вузла мінус 1 ГБ, і бачить пам’ять вузла, а не обмеження пода. Налаштуйте
--wiredTigerCacheSizeGB відповідно до своїх вузлів; 0.25 утримувало кожного учасника на рівні приблизно 200–260 МіБ на наших тестових вузлах із 4 ГБ.
