微服务和Web服务有什么区别?

时间:2017-08-02 06:29:44

标签: web-services microservices

我最接近找到实际差异的是article

但我不明白是什么让我选择一个而不是另一个如果微服务也可以使用REST API并通过http进行通信。

我主要不明白什么是微服务,是否可以代替网络服务,而不是

的目的
  

将大型软件应用程序分解为松散耦合的模块

5 个答案:

答案 0 :(得分:13)

microservice是一种软件架构,可以通过Web服务实现。

webservice只是一种技术(众多之一),用于提供超过" web"或HTTP。

答案 1 :(得分:7)

重点是:网络服务是(正如名称所宣布的那样)您希望"交易"使用HTTP - 换句话说,它在全球 web 的上下文中执行某些操作。

微服务不受WWW上下文的影响。微软服务的核心应该是提供一种特定服务 - 但是对于http协议没有限制。例如。

微服务通常会实现一个宁静的网络服务" - 但它不一定要那样!

除此之外,微服务通常被称为计数器模型到一个巨大的单片应用程序,它可以提供许多不同类型的请求。

答案 2 :(得分:5)

我得到的简单回答here表示: 微服务是一种新的软件架构。它基于Web服务。但它可以是作为独立功能实现的任何服务,它具有自己的数据库并且可以独立部署。

微服务是一种体系结构,其中系统的所有组件都放入单独的组件中,可以单独构建,部署和扩展。

答案 3 :(得分:1)

微服务:-

微服务是一种可以与Web服务一起使用的软件体系结构。此方法涉及将大型软件应用程序拆分为解耦的模块,微服务在其中运行唯一的进程并通过API进行通信。它的开发可以通过使用消息传递,事件驱动的API或使用非HTTP支持的RPC机制来实现。

微服务架构可以节省大型应用程序发生故障或停机的时间。如果特定服务的通信失败,则单个模块的故障不会影响整个应用程序。可以将Java,C#,Python和移动软件开发语言中的微服务结合起来。可以将其独立部署在业务域的服务模型中。 enter image description here

网络服务:-

Web服务只是可以通过“ Web”或HTTP提供服务的几种技术之一。 Web服务作为一种特定类型的面向服务的体系结构(SOA),代表了Web应用程序的功能。

它通过使用标准HTTP协议和通用的数据表示格式(例如XML,JSON等)来定义API与主要代码之间的交互机制。这允许使用不同技术开发的软件应用程序相互通信。

Web服务不参与前端开发。它们未连接到任何开发语言或用户设备软件平台。如果使用不同的语言和针对不同的操作系统(如微服务)编写,则也可以将不同的Web服务组合为一个。

答案 4 :(得分:0)

微服务是Web服务的扩展。

  • Web服务本质上通常是垂直的(提供商与消费者之间的通信),而微服务本质上是水平的
  • 由于以下原因,微服务被视为体系结构。
  • 微服务属于一个特定的应用程序。
  • 微服务正在解决特定的问题,因此可以说是轻量级的。
  • 更改本质上是孤立的,因为一项微服务中的更改不会影响其他更改(例如,登录微服务中所做的更改不会影响支付微服务)
  • 扩展单个微服务很容易。
  • 微服务通常有自己的数据库。