簡體   English   中英

API和微服務有什么區別?

[英]What is the difference between an API and Microservice?

我使用Django創建了我的API其余部分,但是我不了解如何將API轉換為微服務,也不了解它們之間的真正區別。 我看到了像微服務這樣的API,但是我不知道要在微服務中轉換整個API,我需要創建微Web服務器嗎?

拜托,我無法理解微服務,我需要了解這一點。

微服務通過API公開其接口及其功能。 API是微服務在收到命令/查詢時響應的所有端點的列表。 微服務包含API 其他用於響應客戶請求的內部+隱藏的東西。

客戶端在查看微服務時所看到的就是API,盡管微服務要比API大。 微服務隱藏了其內部結構,技術堆棧,數據庫類型( sqlnosql可以是任何東西); 微服務可以從sqlnosql ,從pythonphp ,但是保持其API不變。

API-一種通過網絡公開功能的方式。 想象一下,您已經在.Net中開發了一些功能,但是沒有以其他語言開發某些軟件。 您會再次開發相同的功能嗎? 不能。因此,只需通過Web服務公開即可。Web服務不與任何一種操作系統或編程語言綁定。 例如,使用Java開發的應用程序可以與使用C#,Android等開發的應用程序進行通信,反之亦然。

微服務 -它們用於將復雜的軟件分解為可單獨部署,可測試,松耦合的子模塊的小塊。 微服務旨在應對大型應用程序的故障和故障。 由於多個唯一的服務一起通信,因此可能會發生特定服務失敗的情況,但是整個較大的應用程序仍不受單個模塊失敗的影響。

API與微服務 -現在,我們已經將復雜的軟件分為松散耦合的子模塊。 這些子模塊通過API相互通信。 因此,微服務和API解決了不同的問題,但是可以一起工作!

更多細節:

Web服務和微服務之間的區別

RESTful API與微服務

微服務是一種自主的RESTful服務。 這意味着每台服務器上只有一項服務。 在Spring Boot中,當您引導RESTful服務時,它將獲取tomcat(它是嵌入式tomcat)的實例並在其上運行您的服務。 因此,如果服務器上有多個服務,則它不是微服務,因為這些服務不是自治的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM