[英]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.