SOA和微服务可以共存吗?

时间:2016-09-20 10:04:15

标签: architecture soa microservices

通常需要记录从单块构建基于微服务的体系结构。是否也可以在基于SOA的架构中使用微服务?

3 个答案:

答案 0 :(得分:4)

是的,您可以在同一环境中完全拥有这两种架构。原因如下:

微服务体系结构受SOA的启发很大,因此两者中使用的原则自然非常相似,两者之间经常存在混淆。但是,您应该注意这些范例的范围不同微服务架构是一种以特定方式设计应用程序的方法,而 SOA 旨在使不同域中的多个异构应用程序(通常在企业环境中)之间进行通信,通过使用中间件来避免点对点通信,并且通常可以减少集成工作并提高长期投资回报率。 SOA不仅仅是一种架构方法,而且还提供了一种全新的方法来优化企业中的IT域。它通常需要更改流程和层次结构,因为在某些时候需要建立SOA治理主体以理想地实施企业策略。

所以在实践中你经常会看到类似这样的东西 - 许多应用程序架构风格在同一个通用SOA中:

many application architecture styles in the same general SOA

希望这有帮助。

答案 1 :(得分:1)

简单来说,微服务是SOA的子集。您可以参考以下9 characteristics of Microservice,它们仍然遵循SOA设计原则:

通过服务进行组件化

围绕业务能力进行组织

产品不是项目

智能端点和哑管

分散治理

分散数据管理

基础设施自动化

失败设计

进化设计

如果您指的是实现ESB的SOA体系结构,那么使用ESB并不一定会使您符合SOA,除非您在服务设计和服务设计期间遵守服务特性/服务设计原则。造型。因此,我们可以解耦服务& ESB。从根本上说,ESB只是SOA的一些非功能元素的实现。

选择整体应用程序是从微服务开始的一个基本现象。但是我坚信微服务可以用于更多的业务场景。

答案 2 :(得分:0)

很多人将微服务与SOA 2.0联系起来,所以如果我正确地提出你的问题,你肯定可以在一个项目中使用这两种架构......