2012-11-13 49 views
2

這不是一個疑難解答問題和更多的行業標準問題。客戶機 - 服務器體系結構決策

我正處於需要解決和實施建築標準的十字路口。其中一個標準涉及客戶端應用程序(基於AngularJS,具有多視圖的單頁面持久性)和第三方信息源之間的通信路線。

對我來說,看起來直觀而合乎邏輯的是,通過我的後端路由第三方庫和數據的所有請求,然後通過CURL關閉到各個目的地。

這樣,我的服務器作爲客戶端與外部世界(很像一個手機塔路由器和手機之間的關係)之間的網關。

我很好奇,什麼樣的行業標準會說這個,和潛在的隱患。對我來說,它似乎會創造更多的秩序,組織和安全長期。

請讓我知道你的想法都對此,我需要外界的觀點。

+0

它是什麼樣的應用程序?它是一個數據流應用程序嗎?您是否需要對這些數據/ [ETL](http://en.wikipedia.org/wiki/Extract,_transform,_load)進行任何形式的闡述? –

+0

B2B,沒有數據流。一切都是基於異步和會話的。 –

回答

2

不是真的知道這計數,因爲我不知道任何行業標準 - 但我把它解釋爲你實際上要求的是一般的外部視角。所以在這裏:

我的簡短答案是,我認爲你是在正確的軌道上。

我認爲它更簡潔,因爲它使數據路徑保持簡單,因爲您的客戶端始終向您的服務器發送請求 - 所以基本上,您的客戶端和其他所有服務器之間的耦合(除了服務器上的控制器,這很好,甚至是必要的IMO)。想要稍後更改數據源嗎?客戶不受影響(除非格式不同)。如果您可以想象自己想要在未來的某個時間將原始數據存儲在數據庫中,這也是有益的。根據您要連接的服務以及您想要對數據執行的操作,通過自己的服務器可以獲得安全方面的好處(例如,如果您需要使用私鑰對第三方服務進行身份驗證,與那些MasterCard提供的API一樣)。

有一個性能命中,雖然,因爲它可以讓你的服務器更多的工作要做,需要多一點的內存,除了所需的額外請求和DNS查詢。然後再一次,你將控制緩存,所以你可能會在某些情況下使服務略微更健壯。

所以除非性能是最重要的,我會去你所想的路線。具體如何在服務器上完成路由是一個不同的問題,可能需要進行一些測試。只要確保你使用的方法,可以讓你優雅地處理任何可能彈出的錯誤:)

相關問題