2

我有一个独特的设置,我正在尝试确定 Heroku 是否可以容纳。围绕 polygot 应用程序有很多营销,但我实际上只能找到一个示例!

我的申请包括:

  1. 一个用Django编写的网站
  2. 一个单独的Java应用程序,它获取用户上传的文件,对其进行解析,并将数据存储在数据库中
  3. 两个应用程序都可以访问的共享数据库

因为这些用户上传的文件可能很大,所以我希望上传的文件直接进入 Java 应用程序。我首选的架构是:

  1. Django 生成的网页显示上传表单。
  2. 表单将 AJAX 提交给 Java 应用程序
  3. 浏览器开始轮询数据库以查看 Java 应用程序是否已插入数据
  4. 同时,Java 应用程序使用用户上传的文件执行其操作,并在完成后更新数据库
  5. Django 网页 AJAX-一旦轮询机制看到上传完成,就会用用户上传的结果刷新一个 div

我在这里无法弄清楚的大问题是,我是否可以让 Django 和 Java 应用程序在同一组 dyno 上或在不同的 dyno 上但在同一域下运行以避免 AJAX 跨域问题。Heroku 是否支持 URL 级路由?例如:

  1. Django 应用程序可在http://www.myawesomewebsite.com获得
  2. Java 应用程序可在http://www.myawesomewebsite.com/javaurl/获得

如果这是不可能的,是否有人对解决方法有任何想法?我知道我可以让用户将文件上传到 Django 并让 Django 从服务器端而不是客户端向 Java 发送请求,但这是大量文件的传递。

非常感谢!

4

1 回答 1

0

Heroku 不支持通过 URL 进行路由的功能。多语言组件应该作为它们自己的子域存在并以跨域方式运行。

作为旁注:您是否考虑过直接上传到 S3,而不是上传到 Heroku 上的应用程序,然后(大概)上传到 S3。如果您正在处理跨域文件上传,则值得考虑其高水平的可扩展性。

于 2012-06-27T20:22:08.207 回答