代码编织梦想

        在引入SOA软件设计概念之前,先聊一聊传统开发的架构是怎么弄的?

        传统开发是将所有服务都整合到一个软件包里卖弄在一同发布上线。这种方式称为“单体式架构”。我们使用tomcat运行的war包,springboot 将所有服务打包在一块,都属于“单体式架构”

        而这种架构方式:代码冗余,服务之间耦合度高,维护成本高。所以就需要减少服务之间的依赖。遵循高内聚低耦合的规则。

        SOA的概念就是:面向服务的体系架构;SOA目的只有一个,那就是使各个服务之间互相独立,却又能互相调用各自的业务方法。各个服务之间重启,更新,扩展且互不影响;这就是服务之间“高内聚低耦合”的表现形式。各个服务之间互相独立,意味着减少服务之间依赖(降低耦合)。且又能调用各自的业务方法(体现出服务之间内聚能力)。

       实现方式就是每一个服务单独为一个服务应用,服务之间并通过通信协议来实现数据之间的传递。SOA是采用ESB(企业服务总线)方式实现通信。

       所以SOA消除了开发人员从头到尾进行集成的困扰。通过使用标准网络协议(JSON, SOAP, ActiveMQ, RocketMQ)来开放服务以发送请求或访问数据。

       除此之外,开发人员还可以通过企业服务总线(ESB) 的模式,在集中式与后端系统之间执行集成,然后将其作用服务接口。

       在面向服务的架构模式中,服务使用“松散耦合”系统进行通信。这是一种将系统或网络中的组件(也称为“元素”)进行互联的方式,其目的是在传递信息或协调业务流程的同时减少它们之间的依赖程度。

与单体式方案的优势

可扩展:SOA采用标准通信协议来实现服务之间数据传递,使得服务得于独立更新,部署,扩展。

便于维护:任何服务都可以单独维护,依次独立。修改和更新,而不会影响其他服务。

更快的产品发布和更大的灵活性:服务的可复用性让组建应用变得更加容易和快捷。而不是像单体式应用每次从头再来。

SOA的角色

    SOA 面向服务架构:构建模块是由3个角色组成。

              服务提供商/服务生成者:提供服务,并注册到服务注册表

              服务注册表/服务代理:发现服务,存储服务。服务注册表/服务代理负责向服务消费者提供有关服务的信息。

              服务请求者/服务消费者:消费服务,服务消费者去服务注册表当中服务服务,然后连接服务提供商以接受服务

SOA与微服务

       SOA与微服务主要的区别就是:

               SOA是一种企业级的架构方案,而微服务则是应用开发团队的一种实施策略。

               它们各个组件之间通信不同,SOA采用ESB。而微服务则可以通过与语言无关的API方式进行无状态通信。

               微服务的通信方式比SOA的通信方式较为轻量。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45281820/article/details/129818726

云计算教程入门视频课件:云计算中SOA是什么?-爱代码爱编程

云计算中SOA是什么?SOA 是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。     Gartner 公司在 1996 年进一步提出了 SOA 的概念,意为面向服务的架构,本质上是面向服务的思想在企业 IT 架构方面的应用。面向服

soa面向服务的架构_大肠包小肠|的博客-爱代码爱编程

        SOA 是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。         Gartner 公司在 1996 年进一步提出了 SOA 的概念,意为面向服务的架构,本质上是面向服务的思想在企业 IT 架构方面的应用。面

soa(面向服务架构)是什么?_xiaoweiwei99的博客-爱代码爱编程

文章目录 百度概念白话概念软件架构的演进 单体架构 特点 :优点 :缺点 : 分布式架构 特点 :优点 :缺点 : SOA架构 特点 :优点 :缺点 : 微服务架构 特点 :优

springboot简介-爱代码爱编程

当今,Spring Boot成为了Java开发中最受欢迎的技术之一。它是一个快速,开箱即用的开发框架,为Java开发人员提供了一个有效的方法来构建和运行应用程序。在本文中,我们将探讨Spring Boot的一些重要特性和它的优势。   Spring Boot的特性 自动配置 传统上,开发人员在创建Java应用程序时,要使用特定的配置来配置其环境

spring cloud sentinel实战(五)-sentinel流控规则-链路-爱代码爱编程

流控规则-链路 名词解释 资源名:唯一名称,默认请求路径针对来源:Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)阈值类型/单机阈值: QPS(每秒钟的请求数量):当调用该AP

soa面向服务架构:服务、服务实例、arxml、服务接口调用、各参与方以及协议选择_soa服务接口-爱代码爱编程

1. 什么是服务 传统的汽车EE架构是基于信号的,使用can、lin等总线。随着车载以太网的普及和发展,面向服务架构越来越流行 服务由一组服务接口组成,代表了某个功能,比如蓝牙音乐服务 它有三种类型的服务接口,分别

springboot2(尚硅谷同步笔记)_尚硅谷springboot2笔记-爱代码爱编程

一、基础入门 1.1 为什么要用SpringBoot2? SpringBoot能快速创建出生产级别的Spring应用 1.1.1 SpringBoot优点: 创建独立Spring应用 内嵌web服务器 自动starter依赖,简化构建配置 自动配置Spring以及第三方功能 提供生产级别的监控、健康检查以及外部化配置 无代码生成、无需

【springcloud alibabaseata处理分布式事务】_尚硅谷 springcloud seata-爱代码爱编程

本笔记内容为尚硅谷SpringCloud AlibabaSeata处理分布式事务部分  目录 一、分布式事务问题 二、Seata简介 1、Seata是什么 2、作用 3、下载 三、Seata-Server安装 1. 官网地址 2. 下载版本 3. 解压并修改file.conf配置文件 4. mysql5.7数据库新建库seata和建表

[volo.abp升级笔记]使用旧版api规则替换restful api以兼容老程序_abp restful api-爱代码爱编程

文章目录 原理分析开始改造更换基类型重写接口替换默认规则 在微服务架构中的问题 Volo.Abp 配置应用层自动生成Controller,增删查改服务(CrudAppService)将会以REST