SOA定义了一个提供者层(包括系统中的所有服务)和一个使用者层,或者消费者(如用户或其他服务)与系统交互的点。企业服务总线(Enterprise Service Bus,ESB)允许服务提供者和服务使用者之间进行各种点对点连接。服务可以由多个开发团队创建,但每个团队都需要了解通用的通信机制。
另一方面,在MSA中,小型的、独立的进程在高度粒度和敏捷的应用程序中相互通信。每个服务能够独立部署,这意味着服务能够在不影响整个系统的情况下被下线。MSA使得开发现有服务的新版本更加容易和快速。这个架构符合DevOps的最佳实践。此外,根据负载要求,服务可以独立扩展。
SOA和微服务都依赖服务作为他们的主要组件,然而,这两种架构在服务特性方面存在很大差异。
SOA定义了四个基础的服务类型:
SOA的功能服务,也简称为业务服务,用于定义核心业务操作的粗粒度服务。功能服务通过可扩展标记语言(XML)和业务流程执行语言(BPEL)等协议来表示。
企业服务实现由业务服务定义的功能,使用应用程序服务和基础设施服务来满足业务请求。
应用程序服务是仅在特定应用程序上下文中使用的细粒度服务。可以通过专用用户界面(UI)调用服务。
基础设施服务实现诸如日志记录、身份验证、审计和安全性等非功能性任务。这些服务可以被应用程序服务或企业服务来调用。
评论删除后,数据将无法恢复
评论(13)
渐渐的发展如你开头所说 “SOA以企业为中心,而微服务则以应用程序为中心”,还有阿里的大中台概念,在我看来,也是SOA。