原创

架构模型的演化

1、传统架构 All in One
传统架构 All in One对测试来说比较麻烦,微小修改 全都得重新测

单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。其优点为:项目易于管理、部署简单。缺点:测试成本高、可伸缩性差、可靠性差、迭代困难、跨语言程度差、团队协作难

聚合项目划分

单项目容易 因为某个功能导致整体内存溢出oom

怎么避免这种问题,那得拆分完 那咋实现呢,于是就出现了SOA 架构

2、SOA 架构: Service-Oriented Architecture

面向服务的架构(SOA)是一个组件模型,它将应用程序拆分成不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

在没有实施SOA的年代,从我们研发的角度来看,只能在代码级别复用,即Ctrl +V。SOA出现,我们开始走向了模块、业务线的复用。
SOA年代的典型实现: SOAP协议,CXF框架,XML传输,xsd,数据校验
SOA架构伴随着软件研发行业20年的发展,在最初的时候,大型it公司内部系统规模越来越大,IT系统越来越复杂,All in One单体架构的思想导致公司内项目业务和数据相互隔离,形成了孤岛。

最初,我们使用数据库作为项目之间数据交互和中转的平台,现在我们有了消息中间件。
最初,我们使用XML完成系统之间解耦与相互关联,现在我们有了RPC,Restful
最初,我们使用业务维度划分整体项目结构,
最初,我们多项目节点维护一个共享数据中心,现在我们做冗余存储,闭环数据,保证高效运行及数据最终一致性
最初,SOA思想指导指导我们把所有的IT系统汇总成一个大的整体,按照业务维度划分服务,集中化管理 现在我们拆分抽象服务使其可以多系统复用相同的功能模块。

3、基于dubbo RPC的微服务式架构
RPC远程过程调用 : Remote Procedure Call Protocol
远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在[OSI](#_OSI网络通讯模型_:)网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

原来的RPC也有其他几种比如DCOM,CORBA,RMI(Java)等

- RMI——Remote Method Invoke:调用远程的方法。“方法”一般是附属于某个对象上的,所以通常RMI指对在远程的计算机上的某个对象,进行其方法函数的调用。
- RPC——Remote Procedure Call:远程过程调用。指的是对网络上另外一个计算机上的,某段特定的函数代码的调用。

本文链接地址:http://www.ysxbohui.com/article/286

正文到此结束