Django: Горизонтальное масштабирование с одной базой данных

У меня есть один экземпляр django, который вот-вот достигнет своего предела в плане пропускной способности. Я хочу сделать второй экземпляр и начать горизонтальное масштабирование.

Я понимаю, что при работе с репликами чтения базы данных необходима минимальная конфигурация django, но в случае использования только одной базы данных: есть ли что-то, что мне нужно сделать, или что-то, чего я должен остерегаться при добавлении второго экземпляра?

Для справки, я использую render.com (он похож на heroku), и их решение по масштабированию просто дает нам ползунок и автоматически перемещает экземпляр вверх или вниз. Есть ли какая-то конфигурация, которую мне нужно сделать с django + gunicorn + uvicorn? Он также будет автоматически сидеть за их балансировщиком нагрузки.

Для справки мой стек:

  • Django + DRF
  • Postgres
  • Redis для кэша и брокера
  • Django-q для async
  • Cloudflare

Вы можете включить автомасштабирование на Render, и он будет автоматически масштабировать ваши экземпляры вверх (и вниз) на основе среднего использования CPU и/или памяти вашего приложения во всех экземплярах. Вам не нужно изменять ваше приложение Django.

Вернуться на верх