gpt4 book ai didi

architecture - 面向服务的架构与微服务

转载 作者:行者123 更新时间:2023-12-01 23:28:37 25 4
gpt4 key购买 nike

?我看了很多文章,仍然无法理解SOA vs 微服务。我仍然认为两者是一样的。谁能帮我举个例子或用外行的术语。

最佳答案

我想 SOA 对不同的人意味着不同的东西,所以很难说出微服务和面向服务架构之间适合我们所有人的所有区别,所以我会说说我从这两种方法中理解的内容.

面向服务架构

首先也是最重要的:在的理解中,SOA 是一种软件架构风格(面向服务的架构)。

SOA 适用于需要集成不同应用程序(例如:人力资源、计费、物流...)的企业环境。这种集成必须通过使用服务接口(interface)来实现——这就是为什么它是面向服务的。

由于这些服务接口(interface)使用通用的通信标准,SOA可以促进应用程序之间的解耦,使开发更容易、更快速。 SOA 没有定义在集成系统时使用哪种协议(protocol),但最常见的可能是通过 HTTP 请求和消息传递。此外,它没有定义它是否必须是同步或异步服务接口(interface),您可以使用同步、异步甚至两者。

有一些架构模式可以帮助企业实现 SOA 生态系统,但最常见的是 ESB - 企业服务总线。市场上有一些大公司拥有实现这种模式的产品,例如:Oracle 的 Oracle Service Bus、IBM 的 IBM Integration Bus(Oracle 有一系列产品专注于面向服务的架构,称为 Oracle SOA Suite)。

总结:SOA 是一个企业范围的概念,它使现有应用程序能够通过松散耦合的接口(interface)相互通信,该接口(interface)可以使用多种协议(protocol)、消息传递、同步和异步接口(interface),因此一个应用程序可以公开其功能以在其他应用程序中重用。

微服务

微服务是一种架构风格,旨在将应用程序开发为一套小型、独立的服务。

看到了吗?它说必须将一个应用程序开发为一组小型服务。

这种方法有什么好处?嗯:

  1. 因为它们很小,所以更易于维护
  2. 它们是松散耦合的(当然,这取决于您如何设计生态系统)
  3. 它们可以独立部署,这意味着您可以扩展应用程序的一部分而无需扩展另一部分。

当然,也有一些缺点,所以不要相信有人说每个应用程序都应该以这种架构风格开发:分布式系统增加了复杂性(!!!)

微服务架构风格并未定义微服务如何相互交互。它可以像 SOA 一样,通过 HTTP 请求、消息传递、文件等。此外,它没有定义一个应用程序(不要与微服务混淆)如何与另一个应用程序交互——为此,我们可以研究企业范围SOA。

阐明这些语句在微服务架构中的含义:

  • 应用程序 - 一套小型、独立、松散耦合的服务
  • 微服务 - 套件的服务

区别

虽然 SOA 是一个企业范围的概念,旨在通过松散耦合的服务接口(interface)将应用程序相互集成,但微服务是一个应用程序范围的概念,旨在将一个应用程序开发为一组小型服务。

这是我对这两个概念的看法,当然,可能存在分歧

关于architecture - 面向服务的架构与微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66768659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com