我一直認爲沿着實際流的上游和下游,信息流就像水一樣。所以上游是水/數據來自哪裏(例如HTTP請求),下游是它去的地方(例如爲請求提供服務的底層系統)。上游/下游術語向後使用? (例如nginx)
我一直在尋找最近的API網關,並注意到他們中的一些人使用了這個定義的反面。當時我把它當作怪事聳了聳肩。然後我發現,一些API網關所基於的nginx也以與我預期相反的方式使用術語。 nginx調用它向「上游服務器」發送請求的服務器,並且可能因此傳入的請求將是「下游客戶端」。
從概念上來說,如果轉到「上游服務器」,nginx似乎會推動請求「上坡」,這完全違反直覺......顯然,在反向代理和API網關的領域,重力被逆轉了!
我見過其他討論關於上游/下游表示系統之間依賴關係的討論,但對於位於系統之間的中間件或基礎架構組件,依賴關係的想法稍微寬鬆一點,我發現從流動角度思考更有幫助的信息仍然存在 - 因爲無論如何,這通常是您的依賴關係的來源。
我對流類比的理解有沒有根本的錯誤,或者這些軟件組件是否會讓概念向後退化?
謝謝,這確實有道理。作爲具有整合背景的人,我必須承認,我傾向於將方向看作是誰發起了通信,而不是傳輸數據量。我現在可以在HTTP定義的背景下理解這一點,但是鑑於HTTP本質上是請求/響應(即在兩個方向上),我希望他們完全避免了術語,因爲它並不能真正幫助理解方向! :) – ChrisC