我正在構建一個簡單的搜索引擎,它將用戶提交的搜索查詢作爲輸入並輸出適當搜索結果的列表。搜索查詢最終會被髮送到第三方API,這會大大提高搜索結果的生成。第三方API調用的Web應用程序體系結構
有2種方法我可以處理這個工作流程:
我的服務器將用戶的請求,查詢第三方API,並將結果返回給用戶
或
將這一責任轉移到客戶端;客戶端直接查詢第三方API。
在這兩種方法之間進行選擇時需要注意什麼?
我正在構建一個簡單的搜索引擎,它將用戶提交的搜索查詢作爲輸入並輸出適當搜索結果的列表。搜索查詢最終會被髮送到第三方API,這會大大提高搜索結果的生成。第三方API調用的Web應用程序體系結構
有2種方法我可以處理這個工作流程:
我的服務器將用戶的請求,查詢第三方API,並將結果返回給用戶
或
將這一責任轉移到客戶端;客戶端直接查詢第三方API。
在這兩種方法之間進行選擇時需要注意什麼?
使用選項#1給你喜歡的幾個優點:
使用選項#2可減輕服務器的負擔。
順便說一句,如果你真的猶豫,你可以執行一個技巧:從你的客戶端調用你的服務器的API,但從服務器的API只是將客戶端的請求重定向到第三方API。 這樣可以減輕服務器的負擔,讓您可以在不更改客戶端代碼的情況下更改您的選擇。 – Alagunto
回答這個問題是不太可能的。它太廣泛了。它提出了一般性意見,沒有具體說明具體任務的細節。那麼你如何期望得到一個真正有意義的答案呢? – arkascha
[** Here **](http://programmers.stackexchange.com/a/138565)是您可以考慮的答案。這取決於您願意向外界展示多少API邏輯,以及您認爲它將以最快/最有效的方式運行的位置。 – blex
就個人而言,我會使用選項#1。這使您在更改第三方API的情況下獲得最大的靈活性。而且,我總是傾向於實現任何業務邏輯/轉換服務器端 - 誰知道,您甚至可能最終需要執行相同搜索的其他UI。 –