django - 将项目拆分为两个服务器(由于Cloudflare)而没有重复代码

时间:2017-10-07 14:59:12

标签: python django architecture django-rest-framework cloudflare

我目前在Cloudflare后面的服务器上运行了一个Django项目。但是,许多应用程序包含需要与某些Web服务同步数据的功能。这是一种安全风险,因为这些Web服务可能会泄露我的服务器的IP地址。因此我需要一个解决方案来防止这种情况

到目前为止,我提出了两种选择:使用代理或将项目拆分为两个服务器。一台服务器负责通过Cloudflare响应请求,一台服务器负责与其他Web服务同步数据。后一服务器的IP地址将向公众公开,但是对此服务器的攻击不会导致网站脱机。我更喜欢第二种解决方案,因为这也会分担两台服务器之间的负载。

问题是我不知道如何在没有重复代码的情况下使用Django。我知道我可以重复使用应用程序,但是对于大多数应用程序而言,例如,我只需要模型和序列化程序而不是视图等。我应该如何解决这个问题?最好的方法是什么?另外,这两个服务器的命名是什么?感谢

1 个答案:

答案 0 :(得分:0)

这听起来像是作为部署策略的一部分被拆分的单个项目。因此,仅使用单个代码库是有意义的,而不是将其拆分为两个项目。如果是这种情况,重复使用是不成问题的,因为两个服务器都使用相同的代码。

要支持多个部署,您只需创建两个设置文件,然后在相应的服务器上加载相应的文件。它们的不同程度取决于您。如果您想支持不同的视图,可以使用不同的INSTALLED_APPS设置。 char *word可能不同,等等。