SOA系统架构的演变

简介: SOA系统架构的演变

1 传统的单体架构

1.1 什么是单体架构

一个归档包(例如 war 格式或者 Jar 格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。也称之为单体应用架构,这是一种比较传统的架构风格。

1.2 单体架构优点

便于开发:只需借助 IDE 的开发,调试功能即可完成

易于测试:只需要通过单元测试或浏览器即可完成测试

易于部署:打包成单一可执行 jar 或者 war 包,完成 jar 或者 war 部署即可

1.3 单体架构缺点

1.复杂性高:整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐,整个项目非常复杂,修改一个 BUG 都会造成隐含的缺陷。

2.部署速度逐渐变慢:随着代码的增加,构建和部署的时间也会增加。而在单体应用中,每次功能的变更或缺陷的修复都会导致我们需要重新部署整个应用。

3.扩展能力受限:单体应用只能作为一个整体进行扩展,无法结合业务模块的特点进行伸缩。

4.阻碍技术创新: 单体应用往往使用统一的技术平台或方案解决所有问题,团队的每个成员都必须使用相同的开发语言和架构,想要引入新的框架或技术平台非常困难。

2 SOA 架构

2.1 什么是 SOA 架构


SOA 是 Service-Oriented Architecture 的英文缩写,就是面向服务的架构。这里的服务可以理 解为 service 层业务服务。将系统拆分为不同的服务单元,通过网络协议服务单元之间进行 通信。服务单元完成一个特定功能 ( 如:验证、支付、登录等等 ) ,通过服务单元之间的集成 组成完整的应用程序。SOA 架构中由两个重要的角色: 服务提供者(Provider)和服务使用者(Consumer

2.2SOA 架构的优点

1.更易维护:业务服务提供者和业务服务使用者的松散耦合关系。当需求发生变化的时候,不需要修改提供业务服务的接口,只需要调整业务服务流程或者修改操作即可,整个应用系统也更

容易被维护。

2.更高的可用性 : 该特点是在于服务提供者和服务使用者的松散耦合关系上得以发挥与体现。 使用者无须了解提供者的具休实现细节。

3.更好的伸缩性:依靠业务服务设计、开发和部署等所采用的架构模型实现伸缩性。使得服务提供者可以互相彼此独立地进行调整,以满足新的服务需求。

2.3 SOA 架构的缺点

减低了系统的性能

系统之间交互需要使用远程通信,接口开发增加工作量

3 什么是 RPC 调用


RPCRemote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。请求程序就是一个客户机,而服务提供程序就是一个服务器

4 RPC 的应用场景

支付宝、微信、银联等第三方支付接入公司内部的不同业务系统,不同技术平台的整合

5 RPC 的实现方式

RMI:Java 提供的基于 java 平台 RPC 远程调用技术,服务消费者和服务提供者是 java 平台

20200314202946496.png


WEBSERVICE: 通过 Http 协议 , 请求发送 xml 和响应 xml 的 RPC 远程调用技术 , 最大的特征使用xml 进行数据交互,可以实现跨平台调用。


20200314203108711.pngHttpClient:Http 客户端工具,Java 程序通过 HttpClient 发送 Http 协议的请求,直接获得远程资源。

目录
相关文章
|
3月前
|
设计模式 前端开发 数据库
从MVC到MVVC:软件架构的演变和迭代(二)
从MVC到MVVC:软件架构的演变和迭代
|
5月前
|
XML 数据库 数据格式
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
41 0
|
1月前
|
存储 分布式计算 Hadoop
带你了解文件系统架构的演变:从传统到分布式
带你了解文件系统架构的演变:从传统到分布式
83 0
|
1月前
|
存储 数据安全/隐私保护 云计算
带你了解文件系统架构的演变:从传统到分布式
带你了解文件系统架构的演变:从传统到分布式
79 0
|
3月前
|
设计模式 监控 前端开发
从MVC到MVVC:软件架构的演变和迭代(一)
从MVC到MVVC:软件架构的演变和迭代
|
4月前
|
存储 网络协议 Dubbo
Rpc编程系列文章第一篇:RPC概述和架构演变
Rpc编程系列文章第一篇:RPC概述和架构演变
|
6月前
|
Dubbo Java 应用服务中间件
09分布式电商项目 - SOA架构演变
09分布式电商项目 - SOA架构演变
80 0
|
8月前
|
敏捷开发 资源调度 Java
互联网应用的架构演变之路
随着互联网的发展,网站的应用也不断扩大,从而导致系统架构不断的进行变化,从互联网早起到现在,系统架构大致经历了下面几个过程。
65 0
|
8月前
|
负载均衡 应用服务中间件 微服务
从单体架构到分布式架构的演变--新手向
单体架构到分布式架构更多的是从项目的系统架构层面进行的讨论,故不要将单体架构与业务分层(如mapper、dao、controller……)相混淆 本文将以一个简单的商城项目为导引,讲解单体架构与分布式架构 项目包含了订单模块、用户模块、支付模块和商品模块等
135 0