您好,登錄后才能下訂單哦!
本篇內容介紹了“微服務與API有什么區別”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
微服務是由一家公司提供的一個小的、單一的服務。它源自連接許多小型服務而不是擁有一項大型服務的分布式計算體系結構。可以通過應用程序編程接口(API)交付微服務。
API是請求者與主機之間進行通信的一種方法,通常可以通過IP地址進行訪問。API可以向用戶傳達多種類型的信息,例如:
要共享的數據
要提供的功能
簡而言之,談論微服務必須與軟件的體系結構做更多的事情,而API與如何將微服務公開給消費者有關。
微服務是如何運作的?
微服務是從公司的大型單一服務的思想擴展而來。微服務是單個功能。如果將Microsoft Word拆分為微服務,也許會有一個服務作為空白紙提供,一個服務作為拼寫檢查器提供,一個服務作為格式化工具提供。
Kubernetes允許計算機軟件進行調整。Kubernetes有其自身的優勢,它也推動了軟件設計從單一的服務整體走向到許多一起工作的小型服務的集合。這些過程正是因為Kubernetes的設計可以做到:
有效地協調服務器上單個容器的使用
提高系統可靠性和可擴展性
減少相關的管理和資源成本
微服務的例子
微服務非常簡單。簡單是主要的目標。可以將它們視為公司中的角色。一個微服務扮演著非常特殊的角色,并且只做一項工作。DZone匯集了Uber提供的各種微服務的出色圖表,它們通過API相互通信并執行不同的任務。Uber為每個任務構建不同的服務:
旅客管理
乘客網頁界面
開票管理
司機管理
驅動程序Web UI
付款管理
旅行管理
通知事項
微服務還可以通過體系架構圖進行說明,其中一個微服務是通過API與另一服務通信的單個節點。隨著將更多服務添加到系統上,體系結構可以發展壯大。可以想象,大型公司的微服務體系結構圖可能像一個小城市一樣龐大。以下是假設的Amazon和Netflix圖形:
微服務依賴APIAPI
是一種通信工具,它使一個服務與另一個服務進行交互。API本身無法執行任何操作,除非它已連接到某些東西。當該API連接到服務和微服務時,它將變得很有用,例如:
Function as a Service 函數服務
Machine Learning as a Service 機器學習
Software as a Service 軟件服務
API是您可以將微服務分發給用戶的方式。API無需下載軟件,而是分發您的服務。API是微服務架構正常運行所必需的,因為API是其服務之間的通信工具。沒有API,將會有很多斷開的微服務。從技術上講,微服務將再次構建為整體。
API如何運作的?
API非常通用。您可以:
在任何容器化服務上創建API
使用多種不同的語言Java、Python、Go等等
在任何云提供商上部署API
API可以提高服務的可用性和公開性。通過簡化發行,您可以提供較小的服務。(畢竟,您不必為了證明可行性而構建整個應用所有服務)。
許多API都是RESTful的,并通過HTTP之類的端點公開。這意味著從API訪問信息就像查驗URL一樣容易。GET、POST、PUT、DELETE命令與URL一起可以按預期工作,獲取數據或將數據提供給API。盡管REST API在現代Web應用程序中最常見,但其他選項包括:
RPC
GraphQL
作為產品,API端點通常與開發門戶一起提供,該門戶告知開發人員如何使用它并為開發人員分配API密鑰。如果微服務的目標是在提供注冊車輛的數據,那么開發門戶將解釋:
服務的作用
數據的結構(即數據模式)
開發人員使用API的要求
大多數好的微服務都有某種類型的API。如果您希望使用微服務,那么您將創建一個API。
“微服務與API有什么區別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。