Docker Django NGINX Postgres进行缩放

问题描述 投票:0回答:1

这些年来,我主要使用整体Web应用程序,没有花太多时间研究Django高可用性扩展解决方案。

[在hub.docker.com上有很多NGINX / Postgres / Django / Docker构建,但是我发现这不是可伸缩Django Web应用程序的良好起点。

理想情况下,Docker项目将包括:

  • 一种易于允许将新的Web容器添加到Web应用程序的Web容器配置
  • 轻松地允许添加新数据库分片的数据库容器配置
  • Django微服务示例也将是一个加号

不幸的是,我对Kubernetes和Docker群没有太多经验。

如果没有,则可以将其作为下一个github.com项目。

谢谢你。

django postgresql docker kubernetes high-availability
1个回答
0
投票

这是一个非常广泛的要求。它取决于许多因素:

性能要求是什么?

请确保,您确实需要这种缩放比例。在大多数情况下,具有docker-compose的单个良好服务器即可满足您的需求。如果要减少停机的风险,请创建2台服务器,在它们之间添加负载均衡器,然后将共享服务(如DB或缓存)提取到另一服务中,并让两个服务器实例都使用它们。

您想如何运行您的应用程序?

Docker-Compose:

[如何在单个服务器上使用docker-compose进行结帐https://github.com/pydanny/cookiecutter-django

Kubernetes:

Django在Kubernetes上运行非常好,我在Kubernetes上运行了几个应用程序。问题在于,您需要正确设置所有其他服务(redis,DB,ElasticSearch等)。这些服务中的每一个都独立于您的主要Django应用程序运行,并且需要通过haystackpython-redis之类的库进行连接。

Heroku和其他

[还有像Heroku这样的提供程序,它们提供了很多自动缩放的价格。如果价格不太重要,请选择这些解决方案,因为它们非常易于设置和维护。

您的数据库应具有多大的可扩展性?

如果您尝试跨不同的服务器/区域设置自己的数据库集群,则将花费大量时间来构建和维护它。我建议使用像AWS RDS这样的数据库服务。他们为您轻松设置和维护。您可以配置应具有的可伸缩性。它要花一些钱,但这是最省力的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.