2009-04-14 22 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模塊似乎過於複雜 - 而且一個全新的服務器完成了過度殺毒。

相關問題