1
  • SOA 模式由服务提供者和服务消费者组成。

  • 它似乎反对单体应用程序。

以上两个也适用于客户端-服务器模式。那么 SOA 模式与客户端-服务器模式有何不同呢?

SOA 模式必须使用客户端-服务器模式吗?SOA 模式不能使用客户端-服务器模式吗?

4

1 回答 1

2

面向服务的架构实际上是关于耦合的,并且与所有架构一样,对实现不太感兴趣。

理想的情况是解耦服务以公开自治功能。该服务的实现方式应该无关紧要。您甚至可以从遗留的单体应用程序中公开功能。

伴随着耦合还有我所说的可达性。您需要执行一些代码,并且有几种方法可以做到这一点:

  • 复制粘贴
  • 调用现有函数
  • 参考组件
  • 在线呼叫/进程外呼叫

为了拥有自治的业务组件,您需要有一些部署策略。这就是事情变得更加复杂的地方,因为更新暴露服务的遗留系统比将有界上下文(在领域驱动的设计术语中)作为微服务更难。

如果您的服务器以相当容易访问的方式(例如 REST API)公开服务,则客户端/服务器实现可能看起来非常像 SOA 。如果您从足够高的层次逻辑地看待事物,它们就会开始看起来非常相似。在这方面,SOA 实际上是相当老的帽子,即使我们有“更新”的技术,它们仍然真正属于 SOA 的旗帜下。

于 2019-06-27T04:18:55.210 回答