我目前負責使用.Net和Web Api開發一個相當複雜的REST API。Asp.Net使用負載平衡器(第4層)的Web Api版本控制
該接口後來應該被各種公共和私人(內部)客戶使用。 我讀了很多關於你應該如何版本你的API,但意見似乎非常不同。
該應用程序在多服務器環境中的負載平衡器後面運行。
現在我的問題是,負載平衡器是硬限制,只支持第4層負載平衡,所以我無法檢查傳入請求的URL /頭等路由他們到正確版本的應用。
我們不希望在我們的代碼庫中擁有版本化的api控制器,因爲我們有很多外部依賴應該經常更新,所以我們可能會破壞一些功能。
目前,它似乎是使用子域進行版本控制的唯一解決方案,例如,
ver1.api.domain.com
有反對這種做法任何事情,你有沒有其他解決辦法?
即使在級別4上完成負載均衡......如果目標服務器不支持所需的服務版本,那麼將請求轉發給另一臺服務器會出現什麼問題?特別是如果l.b.完成了一些簡單的事情,比如循環賽IMO,它不會影響性能。 –
所以我需要設置另一種負載均衡器(在第4層之後),它可以解析標題將請求轉發到正確的服務器。如果可能,我想避免這種情況。 – coalmee