MongoDB кластер на офшорных VPS
MongoDB - документоориентированная NoSQL база, идеальная для приложений с гибкой схемой и большими объёмами данных. Однако одиночный сервер MongoDB не подходит для production. Мы разворачиваем replica set и шардированный кластер MongoDB на нескольких офшорных VPS с NVMe дисками. Высокая доступность, горизонтальное масштабирование, оплата криптовалютой без KYC.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Replica Set против шардированного кластера
Replica Set из 3 узлов даёт высокую доступность: primary принимает записи, два secondary реплицируют данные асинхронно. При падении primary автоматически проводятся выборы нового master через протокол Raft за 10-30 секунд. Этого достаточно для большинства проектов до 100 GB данных. Шардированный кластер нужен когда данные не помещаются в RAM или одного диска: несколько шардов хранят разные части данных, mongos роутеры направляют запросы, config server хранит метаданные. Минимальный production-кластер: 3 шарда по 3 узла каждый плюс 3 config server плюс 2 mongos = 14 VPS. Это сложно и дорого. Мы рекомендуем начать с replica set и шардировать только когда данные превысят 500 GB.
Производительность MongoDB на NVMe
MongoDB использует WiredTiger storage engine который агрессивно кэширует hot data в RAM и периодически записывает изменения на диск. При нагрузке OLTP с активным working set MongoDB упирается в IOPS диска: каждый journal commit это fsync. На SATA SSD это 5-10 тысяч записей в секунду максимум, на NVMe Enterprise класса - 100-200 тысяч. Мы настраиваем wiredTiger cache size под 50 процентов RAM (не больше - оставляем для filesystem cache), включаем journal compression Snappy для уменьшения write amplification, и устанавливаем readPreference=secondaryPreferred для распределения чтений по репликам. Дополнительно настраиваем индексы под ваши частые запросы - explain() показывает план каждого запроса.
Безопасность MongoDB в офшоре
Дефолтная установка MongoDB слушает 0.0.0.0 без авторизации - это причина тысяч взломов и вымогательских атак. Мы конфигурируем безопасность с нуля: TLS-шифрование между всеми узлами кластера через self-signed сертификаты, SCRAM-SHA-256 авторизация для всех ролей, X.509 сертификаты для приложений вместо паролей, ограничение bind_ip только на приватные IP кластера плюс ваш IP, аудит-лог для отслеживания подозрительных операций. Дополнительно настраиваем firewall iptables: входящие подключения только на порт 27017 от вашего приложения, всё остальное закрыто. SSH доступ через ключи без паролей. Никакого внешнего доступа к административным портам.
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.