2009-04-14 62 views
0

简而言之,我需要创建一台服务器,其后端从另一台服务器查询信息。我想知道其他人如何解决这个问题。我应该创建哪一个:Apache服务器扩展或从头开始的服务器?

下面是一个更长的问题描述:我需要创建一个服务器(调用这个服务器Alpha),这个服务器根据客户端请求的网页向另一个服务器(调用这个服务器Omega)发出请求。请求是网络消息,不是SQL查询。所要求的信息将成为Alpha客户获得内容的一部分。例如,客户端可能想要显示好友列表。阿尔法会询问欧米茄的客户的好友名单。阿尔法然后显示与好友列表的网页。

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

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

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

回答

2

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

  • 服务器Alpha是我正常的Web栈:Apache的,我的应用程序服务器(即Rails的乘客,或者类似的东西JBoss for Java等)。
  • 服务器欧米茄显然已经存在,所以我不会解决它。如果它不存在,它可能是另一个像Alpha一样配置的服务器。

假设:从用户

  • Web请求通过WWW来到阿尔法。
  • Alpha上的我的Web应用程序通过适当的协议连接到欧米茄。这可能是XMPP来查询Jabber服务器或LDAP,或其他。欧米茄返回结果。
  • Alpha上的Web应用程序使用这些结果来构建页面以返回给用户。
+0

你说得对。欧米茄已经存在。 – zooropa 2009-04-14 17:55:59

1

听起来就像您想要反向代理或应用程序服务器。你对Omega实际返回的数据有点模糊 - 如果你想让Omega生成网页,那么查看反向代理。阿帕奇有一个内置的代理模块,但我听说Squid有更好的表现:

如果亚尔发和奥米加使用自定义协议,那么你”我想把欧米茄当作application server

+0

从欧米茄返回的数据包括好友列表和用户配置文件信息。欧米茄不会生成网页。 Alpha将使用来自Omega的数据并将其包含在提供给客户的网页中。 – zooropa 2009-04-14 17:52:43

1

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

一个Apache模块似乎过于复杂 - 而且一个全新的服务器完成了过度杀毒。