如何处理Django,Varnish,Nginx中的数千个遗留网址?

时间:2015-08-05 00:34:02

标签: python django redirect nginx varnish

我们正在构建一个Django应用程序来替换几乎所有资源都使用自定义URL的遗留系统。根本没有URL的模式。我们现在需要将大约350,000个自定义网址重定向到新系统中的正确网址。

我们的新系统将使用Django,但也会使用Varnish和Nginx,因此我们可以使用这些工具中的任何一种。

在Django中,我认为我们可以制作一个非常大的自定义urls.py文件,或者制作一个中间件,对包含所有重定向的表进行数据库查找。

或许还有一种方法可以在Varnish或Nginx中处理这个问题,所以这些请求甚至都没有打到Django。

我的问题:处理数千个自定义网址重定向的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

这一切都取决于实际负载...如果你有很多请求去旧网址,那么有一些缓存可能是有用的。但总的来说,我会说在Django中执行它,将所有URL添加到数据库模型并查询(可选地在Django甚至Varnish中缓存结果)应该可以解决问题。

这些事情在Varnish或Nginx中并非不可能,但Django将更容易链接到数据库,以便我的投票。