Django: Горизонтальное масштабирование с одной базой данных
У меня есть один экземпляр django, который вот-вот достигнет своего предела в плане пропускной способности. Я хочу сделать второй экземпляр и начать горизонтальное масштабирование.
Я понимаю, что при работе с репликами чтения базы данных необходима минимальная конфигурация django, но в случае использования только одной базы данных: есть ли что-то, что мне нужно сделать, или что-то, чего я должен остерегаться при добавлении второго экземпляра?
Для справки, я использую render.com (он похож на heroku), и их решение по масштабированию просто дает нам ползунок и автоматически перемещает экземпляр вверх или вниз. Есть ли какая-то конфигурация, которую мне нужно сделать с django + gunicorn + uvicorn? Он также будет автоматически сидеть за их балансировщиком нагрузки.
Для справки мой стек:
- Django + DRF
- Postgres
- Redis для кэша и брокера
- Django-q для async
- Cloudflare
Вы можете включить автомасштабирование на Render, и он будет автоматически масштабировать ваши экземпляры вверх (и вниз) на основе среднего использования CPU и/или памяти вашего приложения во всех экземплярах. Вам не нужно изменять ваше приложение Django.