【问题标题】:Facebook proxy web application - Is it good architecture/design?Facebook 代理 Web 应用程序 - 它是良好的架构/设计吗?
【发布时间】:2012-11-19 05:51:21
【问题描述】:

我正在尝试构建一个 java web 应用程序,它是一个 facebook 应用程序。假设这个应用程序是 facebook 上的“测试应用程序”,它是由“xyz.com”托管和提供的。现在,我想让这个 java 应用程序在 xyz.com 上运行 - 有点通用 - 想法是创建 N 应用程序“Test App1”(托管在 abc.com),“Test App2 "(托管在 efg.com)等等(有点像服务),只使用 xyz.com 上的这个 web 应用程序来为这些应用程序中的每一个提供 GUI。因此,对于任何 fb 应用程序上的每个传入请求,xyz.com webapp 将识别需要服务的应用程序并打开一个 GET 请求,从中获取 html 响应,将其作为自己的 html 响应的一部分。简而言之,这就是它的样子:

“Test App1”的用户 -> iframe 尝试加载 xyz.com -> xyz.com 应用程序上的 servlet 代码打开对 abc.com 的 HTTP GET 请求 -> 获取响应 -> 将其包含在自己的响应 -> 发送响应。

这有意义吗?这是一个好的设计吗?我有一种感觉,我试图让它看起来像一个假门户,xyz.com 为每个传入的请求打开一个新的 HTTP Get,我认为当它必须扩展时它会惨遭失败。设计这种代理网络应用程序的最佳方式是什么 - a) 灵活性(服务更多应用程序)b) 可扩展性。

【问题讨论】:

  • 还有一个问题 - facebook 的 T&C 是否合法?

标签: java facebook architecture


【解决方案1】:

我认为这不是架构问题。尝试转换问题的观点,对我来说这是关于部署的。

您设计了一个应用程序,并且希望在不同的域上运行它,对吗?

如果为真,您至少有以下两种选择:

  • 根据网络服务器配置采取行动(如果您决定住房或在您的组织中部署)。

  • 根据您的服务主机提供的配置执行操作(如果您决定托管)。

关于法律问题,对不起,我帮不了你;但我可以建议搜索 facebook 合作指南(或尝试询问 facebook 销售员)。

【讨论】:

  • 从可扩展性的角度来看的架构问题。如果 Web 应用程序充当代理 - 它可能无法扩展?
  • @Jay,关于性能和可扩展性,如果不了解您的应用程序的功能,就很难说。是的,我们知道它使用 facebook WS,但还有什么,数据库访问(或其他类型的存储)?我的建议是保持简单并依赖配置方式(如果这对项目可行,我不知道所有细节)。
  • 好的.. 它与一般的可扩展性无关 - 它与特定活动有关 - 打开与其他站点的连接(充当代理服务器)。我可以打开多少个连接?多少是太多了?我将如何扩展成千上万的用户?
猜你喜欢
  • 2021-06-02
  • 1970-01-01
  • 2011-03-08
  • 2011-09-30
  • 2013-12-08
  • 2013-12-13
  • 2010-10-06
  • 2021-03-16
  • 2015-11-19
相关资源
最近更新 更多