SOA架构、ESB和微服务架构

作者: 刀哥说Java | 来源:发表于2019-06-19 15:48 被阅读1次

    全称(Service Oriented Architecture),中文意思为“面向服务的架构”,他是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在于操作系统进程中。各个服务之间通过网络调用。

    image

    SOA所解决的核心问题

    1.系统集成

    2.系统的服务化

    3.业务的服务化

    (企业服务总线),简单来说ESB就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB做了消息的转化解释和路由工作,让不同的服务互联互通。

    微服务架构

    微服务架构其实和SOA架构类似,微服务是在SOA上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。

    微服务的特征

    1.通过服务实现组件化

    2.按业务能力来划分服务和开发团队

    3.去中心化

    4.基础设施自动化(devops/自动化部署)

    SOA和微服务架构的区别

    1.微服务不再强调传统SOA架构里面比较重的ESB企业服务总线,同时SOA的思想进入到单个业务系统内部实现真正的组件化。

    2.Docker容器技术的出现,为微服务提供了更便利的条件,比如更小的部署单元,每个服务可以通过类似Node或者Spring Boot等技术跑在自己的进程中。

    3.SOA注重的是系统集成方面,而微服务关注的是完全分离。

    领域驱动设计

    领域驱动设计(DDD,Domain-Driven Design),软件开发部署一蹴而就的事情,我们不可能在不了解产品(或行业)的前提下进行软件开发,在 开发前 ,通常需要进行大量的业务知识梳理,然后才到 软件设计的层面 ,最后才是 开发 。而在知识梳理的过程中,我们必然会形成某个领域知识,根据领域知识来一步步驱动软件设计,这就是领域驱动设计。

    相关文章

      网友评论

        本文标题:SOA架构、ESB和微服务架构

        本文链接:https://www.haomeiwen.com/subject/swykqctx.html