關于什么是API,或者它是否與微服務相同,存在困惑。 您會發現各種各樣的定義,但是當您必須實現每種方法時,您就會知道真相。
當您嘗試對微服務和API進行概念性定義時,您將面臨兩個共同的概念:
· 微服務和API都需要自引導技術。
· 兩者都可以部署在云中(實際上,您可以在云中部署任何東西)。
您可以繼續將項目添加到列表中,以查找微服務和API之間的共同點,但有很大的不同:
· 當客戶向微服務發出請求時,背后將是一個微服務網絡進行合作,并且一起產生響應。 在這種架構中,微服務網絡調度單個客戶端請求。
· 另一方面,單個API將處理客戶端請求,并且將在同一API的內部分層組織的多個組件的協作下分派該請求。 通常,一層將包含控制器,另一層將包含服務,在底部您將找到存儲庫對象。
以此方式,API體系結構被分層布置,而微服務體系結構被布置為網絡。
(本文翻譯自Alex Mosso的文章《The essential difference between microservices and APIs》,參考:https://medium.com/swlh/the-essential-difference-between-microservices-and-apis-aa47614b8538)