[英]What is the difference between microservices and webservices?
我最接近發現實際差異的是這篇文章。
但我不明白是什么讓我選擇一個而不是另一個,如果微服務也可以使用 REST API 並通過 http 進行通信。
主要是不明白微服務是什么,能不能代替webservice來,除了目的
將大型軟件應用程序分解為松散耦合的模塊
我在這里得到了一個簡單的答案:微服務是一種新的軟件架構。 它基於網絡服務。 但它可以是任何作為獨立功能實現的服務,它擁有自己的數據庫並且可以獨立部署。
微服務是一種架構,其中系統的所有組件都放入單獨的組件中,這些組件可以單獨構建、部署和擴展。
要點是: Web 服務(正如名稱所宣布的)是您期望“處理”HTTP 的東西——換句話說,它在萬維網的上下文中做一些事情。
而微服務不受 WWW 上下文的影響。 就其核心而言,微服務應該提供一項特定的服務 - 但例如對 http 協議沒有限制。
微服務通常會實現一個寧靜的“Web 服務”——但它不一定是那樣的!
除此之外,微服務通常意味着作為一個巨大的單體應用程序的反模型,該應用程序為許多不同類型的請求提供服務。
微服務是 Web 服務的擴展。
微服務:-
微服務是一種可以與 Web 服務一起使用的軟件架構。 這種方法涉及將大型軟件應用程序拆分為解耦模塊,其中微服務運行獨特的進程並通過 API 進行通信。 它的開發可以通過使用消息傳遞、事件驅動的 API 或使用非 HTTP 支持的 RPC 機制。
當大型應用程序出現故障或停機時,微服務架構可以挽救這一天。 如果某個特定服務在通信中出現故障,則整個應用程序不會受到單個模塊故障的影響。 Java、C#、Python 和移動軟件開發語言的微服務組合是可能的。 它可以獨立部署在業務領域的服務模型中。
網絡服務:-
Web 服務只是可以通過“Web”或 HTTP 提供服務的幾種技術之一。 作為一種特定類型的面向服務的體系結構 (SOA),Web 服務代表 Web 應用程序的功能。
它通過使用標准的 HTTP 協議和數據表示的通用格式(如 XML、JSON 等)定義了 API 和主代碼之間的交互機制。 這允許由不同技術開發的軟件應用程序相互通信。
Web 服務不涉及前端開發。 它們不連接到任何開發語言或用戶設備軟件平台。 如果用不同的語言和不同的操作系統編寫,也可以將不同的 Web 服務組合成一個單一的服務,就像在微服務中一樣。
微服務是 web 服務的一個子集。 也用於命名架構,例如“基於微服務的架構”
微服務是一個神器,而不是一個架構。 幾家世界class公司都知道
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-alb-shared.html
在微服務神器之前,我們有經典的 web 服務或 rest api。甚至在此之前我們有 Soap web 服務和 XML。
因此,作為總結,當有人談論微服務時,他指的是 web 服務的一個子集,具有一些區別於經典 web 服務或 rest api 的特征。
一個主要特征是每個服務一個唯一的數據庫或數據庫
這里的另一個特點來自於 AWS 之類的商品。 其中一些適用於 rest api 或 soap 服務。 我將用粗體標記一些非常具體的微服務。
https://aws.amazon.com/microservices/
https://www.baeldung.com/cs/microservices-db-design
https://learn.microsoft.com/en-us/azure/architecture/microservices/design/data-considerations
微服務是為更大的應用程序架構執行的自治應用程序。
Web服務是一種通過web ui使應用程序對其他應用程序可用的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.