Это очень широкий запрос. Это зависит от многих факторов:
Какое требование к производительности?
Убедитесь, что вам действительно необходим такой масштаб. В большинстве случаев один хороший сервер с docker -композицией может удовлетворить ваши потребности. Если вы хотите уменьшить риск простоя, создайте 2 сервера, добавьте балансировщик нагрузки между ними и извлеките общие службы, такие как БД или кэширование, в другую службу, и пусть оба экземпляра сервера используют их.
Как сделать Вы хотите запустить свои приложения?
Docker -Композиция:
Оформить заказ https://github.com/pydanny/cookiecutter-django о том, как это сделать с docker -компоновать на одном сервере.
Kubernetes:
Django вполне подходит для работы в Kubernetes, я запускаю несколько приложений в Kubernetes. Проблема в том, что вам нужно правильно настроить все другие сервисы (redis, DB, ElasticSearch и др. c.). Каждая из этих служб работает независимо от вашего основного Django приложения и должна быть подключена через такие библиотеки, как haystack
или python-redis
.
Heroku и другие
Есть также провайдеры, такие как Heroku, которые предлагают автоматическое масштабирование по цене. Если цена менее важна, go с этими решениями, потому что они очень просты в настройке и обслуживании.
Насколько масштабируемой должна быть ваша БД?
Если вы пытаетесь настроить свой собственный кластер БД на разных серверах / регионах, вы потратите много времени на его создание и обслуживание. Я бы порекомендовал использовать службы БД, такие как AWS RDS. Они делают это для вас с простой настройкой и обслуживанием. Вы можете настроить масштабируемость. Это стоит денег, но это решение с наименьшими усилиями.