2013-01-18 32 views
-1

我們正在設計一個理想情況下應擴展到全世界的API。我們的想法是有三個不同的node.js應用程序。如何在node.js中設計API的各個部分

第一個是公開的API應用程序,這是我們公開給公衆的應用程序,它將部署在世界的不同區域以減少響應時間。這個應用程序會得到來自用戶的請求,並將呼叫轉發給第二個中間件。中間件會得到這個調用,然後它會調用第三個應用程序,它將存儲抽象層,然後執行所請求的讀/寫/更新/刪除操作,並將結果返回給中間件(第二個應用程序),然後將響應返回給公共API。

它太複雜了嗎?我應該在哪裏放置業務邏輯部分?在中間件(第二個應用程序)中?如果您認爲有更好的方法,我非常樂意改變設計。

+0

如果您願意,我們可以針對此主題進行聊天。我相信一個對話將是最合適的:D – randunel

回答

0

設計是由需求和約束驅動的,所以很難說這是否正確。然而,一連串的電話,有一些問題恕我直言:

  1. 成本。每次你必須添加一個新的操作或返回一個新的數據,你必須修改三個地方。
  2. 表現。連鎖必須比單個呼叫慢。
  3. 部署和版本控制。鑑於其中一個應用程序將部署在世界各地的幾臺服務器上,部署和版本控制可能會有點困難。

這是我的意見。

相關問題