我应该创建哪个:Apache服务器扩展,或从头开始的服务器?

时间:2009-04-14 17:29:48

标签: apache webserver

简单地说,我需要创建一个服务器,后端从另一台服务器查询信息。我想知道其他人如何处理这个问题。

这是对问题的更长描述:我需要创建一个服务器(称为此服务器Alpha),该服务器根据客户端请求的网页向另一台服务器(称为服务器Omega)发出请求。请求是网络消息,不是SQL查询。所请求的信息将成为向Alpha客户提供的内容的一部分。例如,客户端可能想要显示好友列表。 Alpha会向Omega查询客户的好友列表。 Alpha随后会显示一个包含好友列表的网页。

客户端无法直接连接到Omega。服务器Alpha几乎只处理客户端连接,管理从客户端到Omega服务器的查询,并提供新的网页(可能包含从Omega查询的信息)。

我是网络开发的新手。我对Apache模块了解不多。但是,似乎大多数功能已经在Apache中可用。似乎Apache可以扩展用于发送查询来自其他服务器Omega的信息的网络消息。另一种选择是从头开始创建Alpha服务器。

您会使用哪种方法?还有另一种方法更好吗?

3 个答案:

答案 0 :(得分:2)

如果没有关于你正在做什么的更多细节,听起来这些方法中的任何一种都是过度的。如果我在现代Web编程环境中进行好友列表查询,我会考虑以下内容:

  • Server Alpha是我的普通Web堆栈:Apache,我的应用服务器(即Passenger for Rails,或类似JBoss for Java等)。
  • 服务器Omega显然已经存在,所以我不会解决它。如果它不存在,则可能是另一台配置为Alpha的服务器。

鉴于:

  • 来自用户的Web请求通过www来到Alpha。
  • Alpha上的我的Web应用程序通过适当的协议连接到Omega。这可能是XMPP来查询Jabber服务器,或LDAP,或其他什么。 Omega返回结果。
  • Alpha上的Web应用程序使用这些结果构建一个页面以返回给用户。

答案 1 :(得分:1)

听起来你想要一个反向代理或应用服务器。你对Omega实际返回的数据类型有点模糊 - 如果你想让Omega生成网页,那么请查看反向代理。 Apache有一个内置的代理模块,但我听说Squid有更好的性能:

如果Alpha和Omega使用的是自定义协议,那么您需要将Omega视为application server

答案 2 :(得分:1)

从它的声音来看,它是一种由相当普通的脚本网页提供服务的系统。例如,使用PHP脚本调用后端Web服务并生成包含该信息的网页。需要多少处理,取决于Omega的输出与您希望HTML的外观之间的差异。

Apache模块似乎过于复杂 - 并且整个新服务器完全过度。