[英]What is the difference between an API and Microservice?
我使用Django創建了我的API其余部分,但是我不了解如何將API轉換為微服務,也不了解它們之間的真正區別。 我看到了像微服務這樣的API,但是我不知道要在微服務中轉換整個API,我需要創建微Web服務器嗎?
拜托,我無法理解微服務,我需要了解這一點。
微服務通過API公開其接口及其功能。 API是微服務在收到命令/查詢時響應的所有端點的列表。 微服務包含API 和其他用於響應客戶請求的內部+隱藏的東西。
客戶端在查看微服務時所看到的就是API,盡管微服務要比API大。 微服務隱藏了其內部結構,技術堆棧,數據庫類型( sql
, nosql
可以是任何東西); 微服務可以從sql
到nosql
,從python
到php
,但是保持其API不變。
API-一種通過網絡公開功能的方式。 想象一下,您已經在.Net中開發了一些功能,但是沒有以其他語言開發某些軟件。 您會再次開發相同的功能嗎? 不能。因此,只需通過Web服務公開即可。Web服務不與任何一種操作系統或編程語言綁定。 例如,使用Java開發的應用程序可以與使用C#,Android等開發的應用程序進行通信,反之亦然。
微服務 -它們用於將復雜的軟件分解為可單獨部署,可測試,松耦合的子模塊的小塊。 微服務旨在應對大型應用程序的故障和故障。 由於多個唯一的服務一起通信,因此可能會發生特定服務失敗的情況,但是整個較大的應用程序仍不受單個模塊失敗的影響。
API與微服務 -現在,我們已經將復雜的軟件分為松散耦合的子模塊。 這些子模塊通過API相互通信。 因此,微服務和API解決了不同的問題,但是可以一起工作!
更多細節:
微服務是一種自主的RESTful服務。 這意味着每台服務器上只有一項服務。 在Spring Boot中,當您引導RESTful服務時,它將獲取tomcat(它是嵌入式tomcat)的實例並在其上運行您的服務。 因此,如果服務器上有多個服務,則它不是微服務,因為這些服務不是自治的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.