我接近了解到实际差异是在这篇文章中。
但我不理解为什么要选择其中一个,而且微服务是否也可以使用REST API并通过http通信。
我主要不理解什么是微服务以及它是否可以替代Web服务,除了将大型软件应用程序拆分成松耦合模块的目的之外。
我接近了解到实际差异是在这篇文章中。
但我不理解为什么要选择其中一个,而且微服务是否也可以使用REST API并通过http通信。
我主要不理解什么是微服务以及它是否可以替代Web服务,除了将大型软件应用程序拆分成松耦合模块的目的之外。
我在这里得到了一个简单的答案(来源),它说: 微服务是一种新的软件架构。它基于Web服务,但可以是任何实现为独立特性的服务,并具有自己的数据库并能够独立部署。
微服务是一种架构,其中系统的所有组件都放置在独立的组件中,可以单独构建、部署和扩展。
微服务:-
微服务是一种可以与Web服务一起使用的软件架构。该方法涉及将大型软件应用程序拆分为解耦模块,其中微服务运行独特的进程并通过API进行通信。它的开发可以通过使用消息传递、事件驱动的API或使用非HTTP支持的RPC机制来实现。
当大型应用程序失败或停机时,微服务架构可以挽救局面。如果特定的服务在通信中失败,则单个模块的失败不会影响整个应用程序。Java、C#、Python和移动软件开发语言的微服务组合是可能的。它可以独立部署在业务领域的服务模型中。
Web服务:-
Web服务只是可以通过“Web”或HTTP提供服务的多种技术之一。作为特定类型的面向服务的体系结构(SOA),Web服务代表了Web应用程序的功能。
它通过使用标准的HTTP协议和通用的数据表示格式(如XML、JSON等)来定义API和主代码之间的交互机制。这使得由不同技术开发的软件应用程序可以相互通信。微服务是Web服务的一个子集。也用于命名像“基于微服务的架构”这样的架构。
微服务是一种工件,而不是一种架构。许多世界一流的公司都知道这一点。
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-alb-shared.html
在微服务构件之前,我们有经典的Web服务或REST API。甚至在此之前,我们有带有XML的SOAP Web服务。
因此,总结一下,当有人谈论微服务时,他指的是具有某些特征,使其与经典Web服务或REST API有所区别的Web服务子集。
一个主要特征是唯一数据库或每个服务一个数据库
这里还有来自像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界面使应用程序可用于其他应用程序的方法。