导图社区 第3章 信息系统架构
这是一篇关于第3章 信息系统架构的思维导图,主要内容包括:概念,架构基础,系统架构,应用架构,数据架构,技术架构,网络架构,安全架构,云原生架构。
编辑于2025-10-10 18:49:26第3章 信息系统架构
概念
信息系统架构是指体现信息系统相关的组件、关系以及系统的设计和演化原则的基本概念或特性。
信息系统集成项目涉及的架构
系统架构
应用架构
数据架构
技术架构
网络架构
安全架构
架构基础
概念
架构的本质是决策,是在权衡方向、结构、关系以及原则各方面因素后进行的决策。
信息系统项目可基于项目建设的指导思想、设计原则和建设目标等展开各类架构设计。
总体框架
概念
框架是用于规划、开发、实施、管理和维持架构的概念性结构,框架对架构设计是至关重要的。
信息系统体系架构总体参考框架由四个部分组成,即战略系统、业务系统、应用系统和信息基础设施。
战略系统处在第一层,其功能与战略管理层次的功能相似,一方面向业务系统提出创新、重构与再造的要求,另一方面向应用系统提出集成的要求。
业务系统和应用系统同在第二层,属于战术管理层。 业务系统在业务处理流程的优化上对组织进行管理控制和业务控制; 应用系统则为这种控制提供有效利用信息和数据实现的手段,并提高组织的运行效率。
信息基础设施处在第三层,是组织实现信息化、数字化的基础部分,相当于运行管理层,它为应用系统和战略系统提供计算、传输、数据等支持,同时也为组织的业务系统实现重组提供一个有效的、灵活响应的技术与管理支持平台。
战略系统
概念
战略系统是指组织中与战略制定、高层决策有关的管理活动和计算机辅助系统。
在信息系统架构(ISA)中战略系统由两个部分组成
其一是以信息技术为基础的高层决策支持系统
其二是组织的战略规划体系
在 ISA 中设立战略系统有两重含义
一是它表示信息系统对组织高层管理者的决策支持能力
二是它表示组织战略规划对系统建设的影响和要求
组织战略规划分类
长期规划
短期规划
业务系统
概念
业务系统是指组织中完成一定业务功能的各部分(物质、能量、信息和人)组成的系统。
业务系统在 ISA 中的作用
对组织现有业务系统、业务过程和业务活动进行建模,并在组织战略的指导下,采用业务流程重组(BPR)的原理和方法进行业务过程优化重组,并对重组后的业务领域、业务过程和业务活动进行建模,从而确定出相对稳定的数据,以此相对稳定的数据为基础,进行组织应用系统的开发和信息基础设施的建设。
应用系统
概念
应用系统即应用软件系统,指信息系统中的应用软件部分。
组织信息系统中的应用软件(应用系统)
事务处理系统(TPS)
管理信息系统(MIS)
决策支持系统(DSS)
专家系统(ES)
办公自动化系统(OAS)
计算机辅助设计(CAD)
计算机辅助工艺设计(CAPP)
计算机辅助制造(CAM)
应用系统的基本组成部分
内部功能实现部分
外部界面部分
信息基础设施
概念
组织信息基础设施是指根据组织当前业务和可预见的发展趋势及对信息采集、处理、存储和流通的要求,构筑由信息设备、通信网络、数据库、系统软件和支持性软件等组成的环境。
组织信息基础设施分成三部分
技术基础设施
技术基础设施由计算机设备、网络、系统软件、支持性软件、数据交换协议等组成。
信息基础设施
信息资源设施由数据与信息本身、数据交换的形式与标准、信息处理方法等组成。
管理基础设施
管理基础设施指组织中信息系统部门的组织架构、信息资源设施管理人员的分工、组织信息基础设施的管理方法与规章制度等。
系统架构
概念
信息系统架构是一种体系结构,它反映了一个组织信息系统的各个组成部分之间的关系,以及信息系统与相关业务、信息系统与相关技术之间的关系。
架构定义
信息系统架构常见的定义
软件或计算机系统的信息系统架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性及它们之间的关系组成。
结构组成
软件元素
元素的外部可见属性
元素之间的关系
信息系统架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统元素的描述、这些元素的相互作用、指导元素集成的模式及这些模式约束组成。
结构、行为和属性的高级抽象
构成系统元素的描述
这些元素的相互作用
指导元素集成的模式
这些模式的约束
信息系统架构是指一个系统的基础组织,它具体体现在系统的构件、构件之间、构件与环境之间的关系,以及指导其设计和演化的原则上。
系统的基础组织
系统的构件
构件之间的关系
构件与环境之间的关系
指导其设计和演化的原则
信息系统架构定义的理解
架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反映这种抽象。 因此,仅与内部具体实现有关的细节是不属于架构的,即定义强调元素的 “外部可见”属性。
架构由多个结构组成,结构是从功能角度来描述元素之间的关系的,具体的结构传达了架构某方面的信息,但是个别结构一般不能代表大型信息系统架构。
任何软件都存在架构,但不一定有对该架构的具体表述文档,即架构可以独立于架构的描述而存在。 如文档已过时,则该文档不能反映架构。
由架构的内容元素及其行为的集合构成,它揭示了系统由哪些元素组成,这些元素各有哪些功能(外部可见),以及这些元素间如何连接与互动。 架构在两个方面进行抽象:在静态方面,关注系统的大粒度(宏观)总体结构(如分层),在动态方面,关注系统内关键行为的共同特征。
架构具有“基础” 性,它通常涉及解决各类关键重复问题的通用方案(复用性),以及系统设计中影响深远(架构敏感)的各项重要决策(一旦贯彻,更改的代价昂贵)。
架构隐含有“决策”,即架构是由架构设计师根据关键的功能和非功能性需求(质量属性及项目相关的约束)进行设计与决策的结果。
架构分类
分类
物理架构
概念
物理架构是指不考虑系统各部分的实际工作与功能架构,只抽象地考察其硬件系统的空间分布情况。
集中式架构
概念
集中式架构是指物理资源在空间上集中配置。
优点
资源集中,便于管理,资源利用率较高。
缺点
集中式架构的维护与管理越来越困难,常常不利于调动用户在信息系统建设过程中的积极性、主动性和参与感。
资源过于集中会造成系统的脆弱,一旦核心资源出现异常,容易使整个系统瘫痪。
分布式架构
概念
分布式系统是指通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,实现不同地点的资源共享。
分布式架构成为信息系统的主要模式。
优点
可以根据应用需求来配置资源,提高信息系统对用户需求与外部环境变化的应变能力,系统扩展方便,安全性好,某个节点所出现的故障不会导致整个系统停止运作。然
缺点
由于资源分散,且又分属于各个子系统,系统管理的标准不易统一,协调困难,不利于对整个资源的规划与管理。
逻辑架构
概念
逻辑架构是指信息系统各种功能子系统的综合体。
系统融合
融合方式
横向融合
横向融合是指将同一层次的各种职能与需求融合在一起
纵向融合
纵向融合是指把某种职能和需求的各个层次的业务组织在一起
纵横融合
纵横融合是指主要从信息模型和处理模型两个方面来进行综合
常用架构模式
单机应用模式
概念
单机(Standalone)应用系统是最简单的软件结构,是指运行在一台物理机器上的独立应用程序。
客户端/服务器模式
概念
客户端 / 服务器模式(Client/Server)是信息系统中最常见的一种结构。
四种常见的客户端 / 服务器的架构
两层 C/S
概念
两层 C/S,其实质就是 IPC 客户端 / 服务器结构的应用系统体现。
两层 C/S 结构通俗地说就是人们常说的“胖客户端”模式。
在实际的系统设计中,该类结构主要是指前台客户端+后台数据库管理系统。
两层 C/S 结构实际上就是将前台界面与相关的业务逻辑处理服务的内容集成在一个可运行单元中。
三层 C/S 与 B/S 结构
概念
三层 C/S 结构,其前台界面送往后台的请求中,除了数据库存取操作以外,还有很多其他业务逻辑需要处理。
三层 C/S 的前台界面与后台服务之间必须通过一种协议(自开发或采用标准协议)来通信(包括请求、回复、远程函数调用等)
基于TCP/IP,直接在底层 Socket API 基础上自行开发。这样做一般只适合需求与功能简单的小型系统。
首先建立自定义的消息机制(封装 TCP/IP 与 Socket 编程),然后前台与后台之间的通信通过该消息机制来实现。消息机制可以基于XML,也可以基于字节流(Stream)定义。虽然是属于自定义通信,但是它可以基于此构建大型分布式系统。
基于 RPC 编程
基于 CORBA/IOP 协议
基于 Java RMl
基于 J2EEJMS
基于 HTTP 协议,比如,浏览器与Web服务器之问的信息交换。这里需要指出的是 HTTP 不是面向对象的结构,面向对象的应用数据会被首先平面化后进行传输。
目前最典型的基于三层 C/S 结构的应用模式便是人们最熟悉、较流行的 B/S(Browser/Server,浏览器 / 服务器)模式。
实际上 B/S 是采用了通用客户端界面的三层 C/S 结构。
多层 C/S 结构
概念
多层 C/S 结构一般是指三层以上的结构,在实践中主要是四层
前台界面(如浏览器)
Web 服务器
中间件(或应用服务器)
提高系统可伸缩性,增加并发性能。
中间件 / 应用层这一层专门完成请求转发或一些与应用逻辑相关的处理,具有这种作用的中间件一般可以作为请求代理,也可作为应用服务器。
增加数据安全性。
数据库服务器
模型 - 视图 - 控制器模式(MVC)
表示层-视图(View)
View 表示层指浏览器层,用于图形化展示请求结果
MVC 主要是要求表示层(视图)与数据层(模型)的代码分开,而控制器则可以用于连接不同的模型和视图来完成用户的需求。
控制器(Controller)
Controller 控制器指 Web 服务器层
数据层-模型(Model)
Model 模型层指应用逻辑实现及数据持久化的部分
面向服务架构(SOA)模式
面向服务架构
概念
如果两个多层 C/S 结构的应用系统之间需要相互进行通信,那么就产生了面向服务架构(Service Oriented Architecture,SOA)。
在实践中,通常借助中间件来实现 SOA 的需求,如消息中间件、交易中间件等。
面向服务架构的本质是消息机制或远程过程调用(RPC)
面向服务架构分类
异构系统集成
同构系统聚合
联邦体系结构
Web Service
概念
面向服务架构体现在 Web 应用之间,就成为了 Web Service,即两个互联网应用之间可以相互向对方开放一些内部“服务”(这种服务可以理解为功能模块、函数、过程等)。
目前, Web 应用对外开放其内部服务的协议主要有 SOAP 与 WSDL。
组织级数据交换总线
概念
即不同的组织应用之间进行信息交换的公共通道。
关于数据总线本身,其实质应该是一个称之为连接器的软件系统(Connector),它可以基于中间件(如:消息中间件或交易中间件)构建,也可以基于 CORBA/IOP 协议开发,主要功能是按照预定义的配置或消息头定义,进行数据(data)、请求(request)或回复(response)的接收与分发。
从理论上来讲,组织级数据交换总线可以同时具有实时交易与大数据量传输的功能,但在实践中,成熟的组织数据交换总线主要是为实时交易而设计的,而对可靠的大数据量级传输需求往往要单独设计。
规划与设计
集成架构演进
以应用功能为主线架构
以平台能力为主线架构
以互联网为主线架构
TOGAF 架构开发方法
概念
TOGAF(The Open Group Architecture Framework)是一种开放式企业架构框架标准,它为标准、方法论和企业架构专业人员之间的沟通提供一致性保障。
TOGAF 的关键是架构开发方法(ADM),它是一个可靠的、行之有效的方法,能够满足商务需求的组织架构。
TOGAF 基础
该框架旨在通过以下四个目标帮助企业组织和解决所有关键业务需求
确保从关键利益相关方到团队成员的所有用户都使用相同语言。。这有助于每个人以相同的方式理解框架、内容和目标,并让整个企业在同一页面上打破任何沟通障碍。
避免被“锁定”到企业架构的专有解决方案。只要该组织在内部使用 TOGAF 而不是于商业目的,该框架就是免费的。
节省时间和金钱,可以更有效地利用资源。
实现可观的投资回报(ROI)。
TOGAF 反映了企业内部架构能力的结构和内容,TOGAF 9 版本包括 6 个组件:
架构开发方法
ADM 指南和技术
架构内容框架
企业连续体和工具
TOGAF 参考模型
架构能力框架
TOGAF 框架的核心思想
模块化方法。TOGAF 标准采用模块化结构。
内容框架。TOGAF 标准包括了一个遵循架构开发方法(ADM)所产出的结果更加一致的内容框架。TOGAF 内容框架为架构产品提供了详细的模型。
扩展指南。TOGAF 标准的一系列扩展概念和规范为大型组织的内部团队开发多层级集成架构提供支持,这些架构均在一个总体架构治理模式内运行。
架构风格。TOGAF 标准在设计上注重灵活性,可用于不同的架构风格。
ADM 方法
概念
架构开发方法(ADM)为开发企业架构所需要执行的各个步骤以及它们之间的关系进行了详细定义,同时它也是 TOGAF 规范中最核心的内容。
ADM 全生命周期
预备阶段
需求管理
架构愿景
业务架构
信息系统架构(应用和数据)
技术架构
机会和解决方案
迁移规划
实施治理
架构变更管理
价值驱动的体系结构
模型概述
价值模型的核心特征
价值期望值
价值期望值表示对某一特定功能的需求,包括内容(功能)、满意度(质量)和不同级别质量的实用性。
反作用力
系统部署实际环境中,实现某种价值期望值的难度,通常期望越高难度越大,即反作用力。
反作用力和变革催化剂称为限制因素; 这三个统称为价值驱动因素。
变革催化剂
变革催化剂表示环境中导致价值期望值发生变化的某种事件,或者是导致不同结果的限制因素。
结构挑战
最早的体系结构决策产生最大价值才有意义。有几个标准可用于优先化体系结构,建议对重要性、程度、后果和隔离等进行权衡。
影响越广,该因素的重要性越高。一旦体系结构挑战的优先级确定之后,就要确定处理最高优先级挑战的方法。
当制定了应对高优先级的方法之后,体系结构策略就可以表达出来了。架构师会分析这组方法,并给出一组关于组织、操作、可变性和演变等领域的指导原则。
应用架构
概念
应用架构的主要内容是规划出目标应用分层分域架构,根据业务架构规划目标应用域、应用组和目标应用组件,形成目标应用架构逻辑视图和系统视图。
基本原则(助记:也因工资疯)
业务适配性原则
应用聚合化原则
功能专业化原则
风险最小化原则
资产复用化原则
分层分组
应用架构分层的目的
实现业务与技术分离,降低各层级之间的耦合性,提高各层的灵活性,有利于进行故障隔离,实现架构松耦合。
应用架构分组的目的
体现业务功能的分类和聚合,把具有紧密关联的应用或功能内聚为一个组,可以指导应用系统建设,实现系统内高内聚,系统间低耦合,减少重复建设。
数据架构
概念
数据架构描述了组织的逻辑和物理数据资产以及相关数据管理资源的结构。
数据架构的主要内容涉及数据全生命周期之下的架构规划,包括数据的:
产生
流转
整合
引用
归档
消亡
发展演进
单体应用架构时代
数据仓库时代
概念
一种面向主题的、集成的、用于数据分析的全新架构诞生了,它就是数据仓库。
数据仓库系统的主要应用是联机分析处理(OLAP),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
大数据时代
基本原则(助记:处分架衣服)
数据分层原则
解决的是层次定位合理性的问题。
数据处理效率原则
数据处理的代价主要就是数据存储与数据变迁的成本
真正影响数据处理效率的是大规模的原始数据的存储与处理
尽量减少明细数据的冗余存储和大规模的搬迁操作,可以提升数据处理效率。
数据一致性原则
合理的数据架构能够有效地支持数据管控体系,很多的数据不一致性问题是因为数据架构不合理所导致的。
最大的原因就是数据在不同层次分布中的冗余存储以及按照不同业务逻辑的重复加工。
如何在数据架构中减少数据重复加工和冗余存储,是保障数据一致性的关键所在。
数据架构可扩展性原则
从以下角度来保障
基于分层定位的合理性原则之上
架构的可扩展性需要对数据存储模型和数据存储技术也进行考虑
服务于业务的原则
合理的数据架构、数据模型、数据存储策略,最终目标都是服务于业务。
有时候在面临满足某种业务特殊目标的时候,可以为了业务的体验放弃之前的某些原则。
技术架构
概念
技术架构是承载组织应用架构和数据架构的基础,它是一个由多个功能模块组成的整体,描述组织业务应用实现所采用的技术体系或组合,以及支持应用系统部署所需的基础设施和环境等。
基本原则(助记:成人技创局)
成熟度控制原则
优先使用成熟度较高但还处在活跃期的信息技术。
技术一致性原则
在信息系统技术架构设计过程中,应尽量减少技术异构,充分发挥技术及其组合的一致性。
在运用技术一致性原则时,也包括同一类型技术的版本控制问题,尽量在所有信息系统中,只用相同的技术版本。
局部可替换原则
如果技术退役,对信息系统会造成什么影响,哪些技术可以用于替代该技术等。
人才技能覆盖原则
这里的人才可以是组织本身的人才,也可以是组织相关合作伙伴的人才(这类人才需要组织关注其可用性情况)。
创新驱动原则
组织在设计信息系统架构时,要充分挖掘技术的创新价值。
网络架构
概念
网络是信息技术架构中的基础,不仅是用户请求和获取 IT 信息资源服务的通道,同时也是信息系统架构中各类资源融合和调度的枢纽。
基本原则(助记:山高可平)
高可靠性
网络作为底层资源调度和服务传输的枢纽和通道,其对高可靠性的要求自然不言而喻。
高安全性
信息系统的安全性不能仅靠应用级的安全保障,网络也必须能够提供基础的安全防护,底层的身份鉴别、访问控制、入侵检测能力等需要能够为应用提供重要的安全保障。
高性能
随着云计算和虚拟化技术等的发展,网络不仅仅是服务传递的通道,更是提供服务所需资源调度的枢纽,因此网络性能和效率是提供更优服务质量的保证。
可管理性
网络的可管理性不仅是指网络自身管理,更指基于业务部署策路的网络快速调整和管控。
平台化和架构化
作为底层基础资源的网络需要以开阔的视野,适应未来应用架构的变化,网络自身能够更富有弹性,做到按需扩展,以适应未来不同业务规模的变化和发展。
局域网架构
概念
局域网指计算机局部区域网络,是一种为单一组织所拥有的专用计算机网络。
特点(助记:围小-速高-低误-多传)
覆盖地理范围小,通常限定在相对独立的范围内,如一座建筑或集中建筑群内(通常在 2.5km 内);
数据传输速率高(一般在 10Mb/s 以上,典型 1Gb/s,甚至 10Gb/s);
低误码率(通常在 10-9 以下),可靠性高;
支持多种传输介质,支持实时应用。
单核心架构
概念
单核心局城网通常由一台核心二层或三层交换设备充当网络的核心设备,通过若干台接入交换设备将用户设备(如用户计算机、智能设备等)连接到网络中。
特点
核心交换设备通常采用二层、三层及以上交换机;如采用三层以上交换机可划分成 VLAN,VLAN 内采用二层数据链路转发,VLAN 之间采用三层路由转发。
接入交换设备采用二层交换机,仅实现二层数据链路转发。
核心交换设备和接入设备之间可来用 100M/GE/10GE(1GE=1Gb/s) 等以太网连接。
优点
网络结构简单,可节省设备投资。
缺点
网络地理范围受限,要求使用局域网的分项组织分布较为紧凑;
核心网交换设备存在单点故障,容易导致网络整体或局部失效;
网络扩展能力有限;
在局域网接入交换设备较多的情况下,对核心交换设备的端口密度要求高。
双核心架构
概念
双核心架构通常是指核心交换设备采用三层及以上交换机。
特点
核心交换设备和接入设备之间可采用 100M/GE/10GE 等以太网连接。
网络内划分 VLAN 时,各 VLAN 之间访问需通过两台核心交换设备来完成。
核心交换设备之间互联,实现网关保护或负载均衡。
所有业务服务器同时连接至两台核心交换设备,通过网关保护协议进行保护,为用户设备提供高速访问。
接入网络的各部门局域网之间互访,或访问核心业务服务器,有一条以上路径可选择,可靠性更高。
优点
核心交换设备具备保护能力,网络拓扑结构可靠。
在业务路由转发上可实现热切换。
需要使用局域网的专项组织接入较为方便,直接通过接入交换设备连接至核心交换设备空闲接口即可。
缺点
设备投资相比单核心局域网高。
对核心交换设备的端口密度要求较高。
环形架构
概念
环形局域网是由多台核心交换设备连接成双 RPR (Resilient Packet Ring)动态弹性分组环,构建网络的核心。
特点
核心交换设备通常采用三层或以上交换机提供业务转发功能。
典型环形局城网网络内各 VLAN 之间通过 RPR 环实现互访。
RPR 环双向可用。
网络通过两根反向光纤组成环形拓扑结构,节点在环上可从两个方向到达另一节点。
此网络通过与环上的交换设备互联的边界路由设备接入广域网。
优点
RPR 具备自愈保护功能,节省光纤资源。
RPR 具备 MAC 层 50ms 自愈时间的能力,提供多等级、可靠的 QoS 服务,带宽公平机制和拥塞控制机制等。
每根光纤可同时传输数据和控制信号。
RPR 利用空间重用技术,使得环上的带宽得以有效利用。
缺点
通过 RPR 组建大规模局域网时,多环之间只能通过业务接口互通,不能实现网络直接互通。
环形局域网设备投资比单核心局域网高。
核心路由冗余设计实施难度较高,且容易形成环路。
层次局域网架构
概念
层次局域网(或多层局域网)由核心层交换设备、汇聚层交换设备和接入层交换设备以及用户设备等组成。
特点
汇聚层设备提供了充足接口,与接入层之间实现互访控制。
汇聚层可提供所辖的不同接入设备(部门局域网内)业务的交换功能,减轻对核心交换设备的转发压力。
接入层设备实现用户设备的接入。
层次局域网通过与广域网的边界路由设备接入广域网,实现局域网和广域网的业务互访。
优点
层次局域网网络拓扑易于扩展。
网络故障可分级排查,便于维护。
缺点
广域网架构
概念
广域网是将分布于相比局域网络更广区域的计算机设备连接起来的网络。
广域网由通信子网与资源子网组成。
广域网属于多级网络,通常由骨干网、分布网和接入网组成。在网络规模较小时,可仅由骨干网和接入网组成。
单核心广域网
概念
单核心广域网通常由一台核心路由设备和各局域网组成。
特点
核心路由设备采用三层及以上交换机。
网络内各局域网之间访问需要通过核心路由设备。
核心路由设备与各局域网可采用 10M/100M/GE 以太接口连接。
优点
该类型网络结构简单,节省设备投资。
各局域网访问核心局域网以及相互访问的效率高。
新的部门局域网接入广域网较为方便,只要核心路由设备留有端口即可。
缺点
核心路由设备存在单点故障,容易导致整网失效。
网络扩展能力欠佳,对核心路由设备端口密度要求较高。
双核心广域网
概念
双核心广域网通常由两台核心路由设备和各局域网组成。
特点
核心路由设备通常采用三层及以上交换机。
核心路由设备与各局域网之间通常采用 10M/100M/GE 等以太网接口连接。
网络内各局域网之间访问需经过两台核心路由设备,各局域网之间不存在其他路由设备用于业务互访。
核心路由设备之间实现网关保护或负载均衡。
优点
各局域网访问核心局域网以及它们之间的相互访问,有多条路径可选择,可靠性更高,路由层面可实现热切换,提供业务连续性访问能力。
在核心路由设备接口有预留情况下,新的局域网可方便接入。
缺点
设备投资较单核心广域网高。
核心路由设备的路由冗余设计实施难度较高,容易形成路由环路。
网络对核心路由设备的端口密度要求较高。
环形广域网
概念
环形广域网通常是采用三台以上核心路由器设备构成路由环路,用以连接各局域网,实现广域网业务互访。
特点
环形广域网的主要特征是核心路由设备通常采用三层或以上交换机。
核心路由设备与各局域网之间通常采用 10M/100M/GE 等以太网接口连接。
网络内各局域网之问访问需要经过核心路由设备构成的环。各局域网之间不存在其他路由设备进行互访。
核心路由设备之间具备网关保护或负载均衡机制,同时具备环路控制功能。
优点
各局域网访问核心局域网或互相访问,有多条路径可选择,可靠性更高,路由层面可实现无缝热切换,保证业务访问连续性。
在核心路由设备接口有预留情况下,新的部门局域网可方便接入。
缺点
设备投资比双核心广城网高。
核心路由设备的路由冗余设计实施难度较高,容易形成路由环路。
环形拓扑结构需要占用较多端口,网络对核心路由设备端口密度要求较高。
半冗余广域网
概念
半冗余广城网是由多台核心路由设备连接各局城网而形成的,其中,任意核心路由设备至少存在两条以上连接至其他路由设备的链路。
如果任何两个核心路由设备之间均存在链接,则属于半冗余广域网特例,即全冗余广域网。
特点
结构灵活、扩展方便。
部分网络核心路由设备可采用网关保护或负载均衡机制或具备环路控制功能。
网络结构适合于部署 OSPF 等链路状态路由协议。
优点
网络结构呈网状,各局域网访问核心局域网以及相互访问存在多条路径,可靠性高。
路由层面的路由选择较为灵活。
缺点
网络结构零散,不便于管理和排障。
对等子域广域网
概念
对等子域网络是将广域网的路由设备划分成两个独立的子域,每个子域路由设备采用半冗余方式互连。
特点
对等子域之间的互访以对等子域之间互连链路为主。
子域之间链路带宽应高于子域内链路带宽。
网络中路由协议主要以动态路由为主。
对等子域适合于广域网可以明显划分为两个区域且区域内部访问较为独立的场景。
优点
对等子域之间可做到路由汇总或明细路由条目匹配,路由控制灵活。
缺点
域间路由冗余设计实施难度较高,容易形成路由环路或存在发布非法路由的风险,对域边界路由设备的路由性能要求较高。
层次子域广域网
概念
层次子域广域网结构是将大型广城网路由设备划分成多个较为独立的子域,每个子域内路由设备采用半冗余方式互连,多个子域之间存在层次关系,高层次子域连接多个低层次子域。
特点
层次子域结构具有较好扩展性。
低层次子域之间互访需要通过高层次子域完成。
子域之间链路带宽须高于子域内链路带宽。
对用于域互访的域边界路由设备的路由转发性能要求较高。
路由设备路由协议主要以动态路由为主,如 OSPF 协议。
层次子域与上层外网互连,主要借助高层子域完成,与下层外网互连,主要借助低层子域完成。
优点
缺点
域间路由冗余设计实施难度较高,容易形成路由环路,存在发布非法路由的风险。
移动通信网架构
5G 常用业务应用方式
5GS(5G System)与 DN(Data Network,数据网络)互联
5G 网络边缘计算
5GS 与 DN 互联
概念
5GS 在为移动终端用户(User Equipment,UE)提供服务时,通常需要 DN 网络,如 Internet、IMS(IP Media Subsystem)、专用网络等互连来为 UE 提供所需的业务。
5GS 和 DN 之间是种路由关系。
从 UE 通过 5GS 接入 DN 的方式来说,存在两种模式:透明模式和非透明模式。
透明模式
概念
在透明模式下,5GS 通过 UPF 的 N6 接口直接连至运营商特定的 IP 网络,然后通过防火墙(Firewall)或代理服务器连至 DN(即外部 IP 网络),如 Internet 等。
在此模式下,5GS 至少为 UE 提供一个基本 ISP 服务。
非透明模式
概念
在非透明模式下,5GS 可直接接入 Intranet/ISP 或通过其他 IP 网络(如 Internet)接入 Intranet/ISP。
5G 网络边缘计算
概念
5G 网络改变以往以设备、业务为中心的导向,倡导以用户为中心的理念。
5G 网络在为用户提供服务的同时,更注重用户的服务体验 QoE(Quality of Experience)。
其中 5G 网络边缘计算能力的提供正是为垂直行业赋能、提升用户 QoE 的重要举措之一。
业务连续性模式
SSC 模式 1
在用户移动过程中用户会话的 IP 接入点始终保持不变
SSC 模式 2
用户移动过程中网络触发用户现有会话释放并立即触发新会话建立
SSC 模式 3
用户移动过程中在释放用户现有会话之前先建立一个新的会话
软件定义网络(SDN)
概念
软件定义网络(Software Defined Network,SDN)是一种新型网络创新架构,它可通过软件编程的形式定义和控制网络,其通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络变得更加智能,为核心网络及应用的创新提供了良好的平台。
SDN 是网络虛拟化的一种实现方式。
SDN 打破了传统网络设备的封闭性。
利用分层的思想,SDN 将数据与控制相分离。
在控制层,包括具有逻辑中心化和可编程的控制器,可掌握全局网络信息,方便运营商和科研人员管理配置网络和部署新协议等。
在数据层,包括哑交换机(与传统的二层交换机不同,专指用于转发数据的设备),仅提供简单的数据转发功能,可以快速处理匹配的数据包,适应流量日益增长的需求。
两层之间采用开放的统一接口(如 OpenFlow 等)进行交互。
控制平面与数据平面之间通过 SDN 控制数据平面接口(Control-data-plane Interface,CDPI)进行通信,它具有统一的通信标准,主要负责将控制器中的转发规则下发至转发设备,最主要应用的是 OpenFlow 协议。
控制平面与应用平面之间通过 SDN 北向接口(Northbound Interface,NBI)进行通信,而 NBI 并非统一标准,它允许用户根据自身需求定制开发各种网络管理应用。
SDN 中的接口具有开放性,以控制器为逻辑中心,南向接口负责与数据平面进行通信,北向接口负责与应用平面进行通信,东西向接口负责多控制器之间的通信。
最主流的南向接口 CDPI 采用的是 OpenFlow 协议。
OpenFlow 最基木的特点是基于流(Flow)的概念来匹配转发规则,每一个交换机都维护一个流表(Flow Table),依据流表中的转发规则进行转发,而流表的建立、维护和下发都是由控制器完成的。
SDN 的整体架构由下到上(由南到北)
应用平面
应用平面包含着各种基于 SDN 的网络应用,用户无须关心底层细节就可以编程、部署新应用。
控制平面
控制平面包含了逻辑上为中心的 SDN 控制器,它掌握着全局网络信息,负责各种转发规则的控制。
数据平面
数据平面由交换机等网络通用硬件组成,各个网络设备之间通过不同规则形成的 SDN 数据通路连接。
SDN接口(以控制器为逻辑中心)
南向接口
负责与数据平面进行通信
北向接口
负责与应用平面进行通信
东西向接口
负责多控制器之间的通信
安全架构
威胁分类
物理安全威胁
指对系统所用设备的威胁,如自然灾害、电源故障、操作系统引导失败或数据库信息丢失、设备被盗或被毁造成数据丢失或信息泄露。
通信链路安全威胁
指在传输线路上安装窃听装置或对通信链路进行干扰。
网络安全威胁
指由于互联网的开放性、国际化的特点,人们很容易通过技术手段窃取互联网信息,对网络形成严重的安全威胁。
操作系统安全威胁
指对系统平台中的软件或硬件芯片中植入威胁,如“木马”和“陷阱门”、BIOS 的万能密码。
应用系统安全威胁
指对于网络服务或用户业务系统安全的威胁,也受到“木马”和“陷阱门” 的威胁。
管理系统安全威胁
指由于人员管理上疏忽而引发人为的安全漏洞,如人为地通过拷贝、拍照、抄录等手段盗取计算机信息。
常见的安全威胁
信息泄露
破坏信息的完整性
拒绝服务
非法访问
窃听
业务流分析
假冒
旁路控制
特洛伊木马
陷阱门
抵赖
重放
计算机病毒
人员渎职
媒体废弃
物理侵入
窃取
业务欺骗
定义范围
三道安全防线
系统安全架构
概念
系统安全架构指构建信息系统安全质量属性的主要组成部分以及它们之间的关系。
系统安全架构的目标是如何在不依赖外部防御系统的情况下,从源头打造自身的安全。
安全技术体系架构
概念
安全技术体系架构指构建安全技术体系的主要组成部分以及它们之间的关系。
安全技术体系架构的任务是构建通用的安全技术基础设施,包括安全基础设施、安全工具和技术、安全组件与支持系统等,系统性地增强各部分的安全防御能力。
审计架构
概念
审计架构指独立的审计部门或其所能提供的风险发现能力,审计的范围主要包括安全风险在内的所有风险。
整体架构设计
概念
构建信息安全保障体系框架应包括技术体系、组织机构体系和管理体系等三部分,也就是说,人、管理和技术手段是信息安全架构设计的三大要素,而构建动态的信息与网络安全保障体系框架是实现系统安全的保障。
WPDRRC 模型
六个环节
预警(W)
预警主要是指利用远程安全评估系统提供的模拟攻击技术,来检查系统可能存在的被利用的薄弱环节,收集和测试网络与信息的安全风险所在,并以直观的方式进行报告,提供解决方案的建议。
保护(P)
保护通常是通过采用成熟的信息安全技术及方法,来实现网络与信息的安全。
主要内容有加密机制、数字签名机制、访问控制机制、认证机制、信息隐藏和防火墙技术等。
检测(D)
检测是通过检测和监控网络以及系统,来发现新的威胁和弱点,强制执行安全策略。
主要内容有入侵检测、系统脆弱性检测、数据完整性检测和攻击性检测等。
响应(R)
响应是指在检测到安全漏洞和安全事件之后必须及时做出正确的响应,从而把系统调整到安全状态。
为此需要相应的报警、跟踪和处理系统,其中处理包括了封堵、隔离、报告等能力。
主要内容有应急策略、应急机制、应急手段、入侵过程分析和安全状态评估等。
恢复(R)
恢复是指当前网络、数据、服务受到黑客攻击并遭到破坏或影响后,通过必要的技术手段,在尽可能短的时间内使系统恢复正常。
主要内容有容错、冗余、备份、替换、修复和恢复等。
反击(C)
反击是指采用一切可能的高新技术手段,侦查、提取计算机犯罪分子的作案线索与犯罪证据,形成强有力的取证能力和依法打击手段。
三大要素
人员
人员是核心
策略
策略是桥梁
技术
技术是保障
架构设计
系统安全保障体系
组成
安全服务
协议层次
系统单元
系统安全保障体系设计工作考虑要点
安全区域策略的确定
统一配置和管理防病毒系统
网络与信息安全管理
信息安全体系架构
5 个方面开展分析和设计工作
物理安全
环境安全
设备安全
媒体安全
系统安全
网络结构安全
操作系统安全
应用系统安全
系统安全是系统整体安全的基础
网络安全
访问控制
通信保密
入侵检测
网络安全扫描
防病毒
网络安全是整个安全解决方案的关键
应用安全
资源共享
信息存储
管理安全
制定健全的安全管理体制
构建安全管理平台
增强人员的安全防范意识
设计要点
系统安全设计要点
网络结构安全
重点关注网络拓扑结构是否合理,线路是否冗余,路由是否冗余和防止单点失败等。
操作系统安全
操作系统的安全防范可以采取的措施
尽量采用安全性较高的网络操作系统并进行必要的安全配置
关闭一些不常用但存在安全隐患的应用
使用权限进行限制或加强口令的使用等
通过配备操作系统安全扫描系统对操作系统进行安全性扫描,发现漏洞并及时升级等。
应用系统安全
重点关注应用服务器,尽量不要开放一些不经常使用的协议及协议端口,如文件服务、电子邮件服务器等。
可以关闭服务器上的如 HTTP、FTP、Telnet 等服务。
可以加强登录身份认证,确保用户使用的合法性。
网络安全设计要点
访问控制
隔离与访问控制要有严格的管制制度。
《用户授权实施细则》
《口令及账户管理规范》
《权限管理制定》
通过配备防火墙实现网络安全中最基本、最经济、最有效的安全措施。
入侵检测
入侵检测需要根据已有的、最新的攻击手段的信息代码对进出网段的所有操作行为进行实时监控、记录,并按制定的策略实施响应(阻断、报警、发送 E-mail)。
防病毒
病毒防护是网络安全的必要手段。
反病毒技术包括预防病毒、检测病毒和杀毒三种。
应用安全设计要点
资源共享
资源共享要严格控制内部员工对网络共享资源的使用,在内部子网中一般不要轻易开放共享目录,否则会因为疏忽而在员工间交换信息时泄漏重要信息。
信息存储
信息存储是指对于涉及秘密信息的用户主机,使用者在应用过程中应该做到尽量少开放一些不常用的网络服务。
对数据服务器中的数据库做安全备份。
通过网络备份系统可以对数据库进行远程备份存储。
管理安全设计要点
制定健全的安全管理体制
制定健全安全管理体制将是网络安全得以实现的重要保证,可以根据自身的实际情况制定如安全操作流程、安全事故的奖罚制度以及任命安全管理人员全权负责监督和指导。
构建安全管理平台
构建安全管理平台将会降低许多因为无意的人为因素而造成的风险。
增强人员的安全防范意识
应该经常对单位员工进行网络安全防范意识的培训,全面提高员工的整体安全方法意识。
网络安全架构设计
OSI 安全架构
概念
OSI 定义了 7 层协议,其中除第5层(会话层)外,每一层均能提供相应的安全服务。
最适合配置安全服务的是在物理层、网络层、传输层及应用层上,其他层都不宜配置安全服务。
OSI 开放系统互联安全体系的 5 类安全服务包括鉴别、访问控制、数据机密性、数据完整性和抗抵赖性。
本章主要讲解内容
信息系统的安全保障不仅仅依赖于技术,还需要非技术防御手段。一个可接受级别的信息保障依赖于人员、管理、技术和过程的综合。
分层多点安全技术体系架构(深度防御安全技术体系架构)
多点技术防御
网络和基础设施
为了确保可用性,局域网和广城网需要进行保护以抵抗各种攻击,如拒绝服务攻击等。
为了确保机密性和完整性,需要保护在这些网络上传送的信息以及流量的特征以防止非故意的泄露。
边界
为了抵御主动的网络攻击,边界需要提供更强的边界防御,例如流量过滤和控制以及入侵检测。
计算环境
为了抵御内部、近距离的分布攻击,主机和工作站需要提供足够的访问控制。
分层技术防御
一个有效的措施是在对手和目标间使用多个防御机制。
为了减少这些攻击成功的可能性和对成功攻击的可承担性,每种机制应代表一种唯一的障碍,并同时包括保护和检测方法。
例如,在外部和内部边界同时使用嵌套的防火墙并配合入侵检测就是分层技术防御的一个实例
支撑性基础设施
概念
支撑性基础设施为网络、边界和计算环境中信息保障机制运行基础的支撑性基础设施,包括公钥基础设施以及检测和响应基础设施。
公钥基础设施
公钥基础设施提供一种通用的联合处理方式,以便安全地创建、分发和管理公钥证书和传统的对称密钥,使它们能够为网络、边界和计算环境提供安全服务。
检测和响应基础设施
检测和响应基础设施能够迅速检测并响应入侵行为。
认证框架
概念
鉴别(Authentication)的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。
关系背景
实体由申请者来代表,申请者与验证者之间存在着特定的通信关系(如实体鉴别)。
实体为验证者提供数据项来源。
鉴别方式
已知的
如一个秘密的口令
拥有的
如 IC 卡、令牌等
不可改变的特性
如生物特征
相信可靠的第三方建立的鉴别
递推
环境
如主机地址等
鉴别信息的类型
交换鉴别信息
申请鉴别信息
验证鉴别信息
鉴别服务的阶段
安装阶段
修改鉴别信息阶段
分发阶段
获取阶段
传送阶段
验证阶段
停活阶段
重新激活阶段
取消安装阶段
访问控制框架
概念
访问控制(Access Control)决定开放系统环境中允许使用哪些资源,在什么地方适合阻止未授权访问的过程。
涉及访问控制的有发起者、AEF、ADF 和目标。
基于访问控制功能
ACI(Access Control Information,访问控制信息)
用于访问控制目的的任何信息,其中包括上下文信息。
ADI(Access Decision Information,访问控制判决信息)
在做出一个特定的访问控制判决时可供 ADF 使用的部分(或全部)ACI。
ADF(Access Decision Function,访问控制判决功能)
一种特定功能,它通过对访问请求、ADI 以及该访问请求的上下文使用访问控制策略规则而做出访问控制判决。
AEF(Access Enforcement Function,访问控制实施功能)
确保只有对目标允许的访问才由发起者执行。
ADF 做出判决需要的 ADI
发起者 ADI(ADI 由绑定到发起者的 ACI 导出)
目标 ADI(ADI 由绑定到目标的 ACI 导出)
访问请求 ADI(ADI 由绑定到访问请求的 ACI 导出)
机密性框架
概念
机密性(Confidentiality)服务的目的是确保信息仅仅是对被授权者可用。
保证数据在传输中的机密性
通过禁止访问的机制
通过隐藏数据语义的机制
通过分散数据的机制得以保证(如跳频等)
通过禁止访问提供机密性
通过禁止访问的机密性能通过在 ITU-T Rec.812 或 ISO/IEC 10181-3 中描述的访问控制获得,以及通过物理媒体保护和路由选择控制获得。
通过加密提供机密性
这种机制的目的是防止在传输或存储中的数据泄露。
加密机制分为基于对称的加密机制和基于非对称加密的机密机制。
完整性框架
概念
完整性(Integrity)框架的目的是通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。
所谓完整性,就是数据不以未经授权方式进行改变或损毁的特征。
完整性服务的分类方式
根据防范的违规分类
未授权的数据修改
未授权的数据创建
未授权的数据删除
未授权的数据插入
未授权的数据重放
依据提供的保护方法
阻止完整性损坏
检测完整性损坏
依据是否支持恢复机制
具有恢复机制的
不具有恢复机制的
完整性机制的保护强度
不做保护
对修改和创建的探测
对修改、创建、删除和重复的探测
对修改和创建的探测并带恢复功能
对修改、创建、删除和重复的探测并带恢复功能
抗抵赖框架
概念
抗抵赖(Non-repudiation)服务包括证据的生成、验证和记录,以及在解决纠纷时进行的证据恢复和再次验证。
框架所描述的抗抵赖服务的目的是提供有关特定事件或行为的证据。
抗抵赖服务提供下列可在试图抵赖的事件中使用的设备:证据生成、证据记录、验证生成的证据、证据的恢复和重验。
抗抵赖由 4 个独立的阶段组成(助记:三证一解)
证据生成
证据传输、存储及恢复
证据验证
解决纠纷
数据库系统安全设计
概念
从数据库管理系统的角度而言,要解决数据库系统的运行安全和信息安全,采取的安全策略一般为用户管理、存取控制、数据加密、审计跟踪和攻击检测等。
针对数据库系统安全,我们需重点关注完整性设计。数据库完整性是指数据库中数据的正确性和相容性。
数据库完整性设计原则
约束实现层次与性能平衡
根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。
一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。
优先应用核心约束
实体完整性约束和引用完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。
谨慎使用触发器
要慎用目前主流 DBMS 都支持的触发器功能,一方面,由于触发器的性能开销较大;另一方面,触发器的多级触发难以控制,容易产生错误,非用不可时,最好使用 Before 型语句级触发器。
制定命名规范
在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下画线等组合,使其易于识别和记忆。
细致测试完整性约束
要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。
专职设计团队负责全程管理
要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。
利用 CASE 工具提高效率
应采用合适的 CASE 工具来降低数据库设计中各阶段的工作量。
数据库完整性的作用
数据库完整性约束可分为 6 类
列级静态约束
元组(行)级静态约束
关系(表)级静态约束
列级动态约束
元组(行)动态约束
关系(表)级动态约束
数据库完整性设计示例
基于 DBMS 的数据库完整性设计阶段
需求分析阶段
概念结构设计阶段
逻辑结构设计阶段
云原生架构
架构定义
概念
从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。
由于云原生是面向 “云”而设计的应用,因此,技术部分依赖于传统云计算的 3 层概念,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
云原生的代码通常包括三部分
业务代码
指实现业务逻辑的代码。
三方软件
是业务代码中依赖的所有三方库,包括业务库和基础库。
处理非功能特性的代码
指实现高可用、安全、可观测性等非功能性能力的代码。
三部分中只有业务代码是核心,是给业务直正带来价值的,另外两个部分都只算附属物。
基本原则(助记:肤弹可人自凌驾)
服务化原则
分布式环境下的限流降级、熔断隔仓、灰度、反压、零信任安全等,本质上都是基于服务流量(而非网络流量)的控制策略,所以云原生架构强调使用服务化的目的还在于从架构层面抽象化业务模块之间的关系,标准化服务流量的传输,从而帮助业务模块进行基于服务流量的策略控制和治理,不管这些服务是基于什么语言开发的。
弹性原则
弹性则是指系统的部署规模可以随着业务量的变化而自动伸缩,无须根据事先的容量规划准备固定的硬件和软件资源。
可观测性原则
可观测性是在云这样的分布式系统中,主动通过日志、链路跟踪和度量等手段,使得一次点击背后的多次服务调用的耗时、返回值和参数都清晰可见,甚至可以下钻到每次三方软件调用、SQL 请求、节点拓扑、网络响应等,这样的能力可以使运维、开发和业务人员实时掌握软件运行情况,并结合多个维度的数据指标,获得关联分析能力,不断对业务健康度和用户体验进行数字化衡量和持续优化。
韧性原则
韧性代表了当软件所依赖的软硬件组件出现各种异常时,软件表现出来的抵御能力。
韧性从多个维度诠释了软件持续提供业务服务的能力,核心目标是提升软件的平均无故障时间(Mean Time Between Failure,MTBF)。
所有过程自动化原则
通过 IaC(Infrastructure as Code)、GitOps、OAM(Open Application Model)、Kubernetes Operator 和大量自动化交付工具在 CI/CD 流水线中的实践,一方面标准化组织内部的软件交付过程,另一方面在标准化的基础上进行自动化,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。
零信任原则
其核心思想是,默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础,如 IP 地址、主机、地理位置、所处网络等均不能作为可信的凭证。
零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。
零信任第一个核心问题就是身份(Identity),赋子不同的实体不同的身份,解决是谁在什么环境下访问某个具体的资源的问题。
架构持续演进原则
信息技术及其业务应用的演进速度非常快,很少有一开始就清晰定义了架构并在整个软件生命周期里面都适用,相反往往还需要对架构进行一定范围内的重构,因此云原生架构本身也必须是一个具备持续演进能力的架构,而不是一个封闭式架构。
常用架构模式
常用的架构模式
服务化架构
Mesh 化架构
Serverless
存储计算分离
分布式事务
可观测
事件驱动
服务化架构模式
概念
服务化架构是新时代构建云原生应用的标准架构模式,要求以应用模块为颗粒度划分一个软件,以接口契约(例如 IDL)定义彼此业务关系,以标准协议(HTTP、gRPC 等)确保彼此的互联互通,结合领域模型驱动 (Domain Driven Design,DDD)、测试驱动开发(Test Driven Development,TDD)、容器化部署提升每个接口的代码质量和迭代速度。
服务化架构的典型模式是微服务和小服务模式。
Mesh化架构模式
概念
Mesh(网格)化架构是把中间件框架(如RPC、缓存、异步消息等)从业务进程中分离,让中间件的软件开发工具包(Sofware Development Kit,SDK)与业务代码进一步解耦,从而使得中间件升级对业务进程没有影响,甚至迁移到另外一个平台的中间件也对业务透明。
分离后在业务进程中只保留很“薄”的 Client 部分,Client 通常很少变化,只负责与 Mesh 进程通信,原来需要在 SDK 中处理的流量控制、安全等逻辑由 Mesh 进程完成。
实施 Mesh 化架构后,大量分布式架构模式(如熔断、限流、降级、重试、反压、隔仓等)都由 Mesh 进程完成,即使在业务代码的制品中并没有使用这些三方软件包;同时获得更好的安全性(比如零信任架构能力等),按流量进行动态环境隔离,基于流量做冒烟/回归测试等。
Serverless模式
概念
Serverless(无服务器)将“部署”这个动作从运维中“收走”,使开发者不用关心应用运行地点、操作系统、网络配置、CPU 性能等。
Serverless 非常适合于事件驱动的数据计算任务、计算时间短的请求 / 响应应用、没有复杂相互调用的长周期任务。
存储计算分离模式
概念
分布式环境中的 CAP(一致性:Consistency;可用性:Availability,分区容错性:Partition tolerance)困难主要是针对有状态应用,因为无状态应用不存在 C(一致性)这个维度,因此可以获得很好的 A(可用性)和 P(分区容错性),因而获得更好的弹性。
在云环境中,推荐把各类暂态数据(如 session)、结构化和非结构化持久数据都采用云服务来保存,从而实现存储计算分离。
分布式事务模式
架构需要根据不同的场景选择合适的分布式事务模式
传统采用 XA(eXtended Architecture)模式,虽然具备很强的一致性,但是性能差。
优点
缺点
基于消息的最终一致性通常有很高的性能,但是通用性有限。
优点
性能强
缺点
通用性差
TCC(Try-Confirm-Cancel)模式完全由应用层来控制事务,事务隔离性可控,也可以做到比较高效;但是对业务的侵入性非常强,设计开发维护等成本很高。
优点
事务隔离性可控,高效
缺点
侵入性强
开发维护成本高
SAGA 模式(指允许建立一致的分布式应用程序的故障管理模式)与 TCC 模式的优缺点类似,但没有 Try 这个阶段,而是每个正向事务都对应一个补偿事务,也使开发维护成本高。
开源项目 SEATA 的 AT 模式非常高性能,无代码开发工作量,且可以自动执行回滚操作,同时也存在一些使用场景限制。
优点
高性能
开发成本低
缺点
使用场景限制
可观测架构
概念
可观测架构包括 Logging、Tracing、Metrics 三个方面。
Logging 提供多个级别(verbose/debug/warning/error/fatal)的详细信息跟踪,由应用开发者主动提供;
Tracing 提供一个请求从前端到后端的完整调用链路跟踪,对于分布式场景尤其有用;
Metrics 则提供对系统量化的各维度度量。
由于建立可观测性的主要目标是对服务 SLO(Service Level Objective,服务级别目标)进行度量,从而优化 SLA(Service Level Agreement,服务级别协议),因此架构设计上需要为各个组件定义清晰的 SLO,包括并发度、耗时、可用时长、容量等。
事件驱动架构
概念
事件驱动架构(Event Driven Architecture,EDA)本质上是一种应用 / 组件间的集成架构模式。
适用场景
(微)服务解耦
增强服务韧性
命令查询的责任分离(Command Query Responsibility Segregation,CQRS)
数据变化通知
构建开放式接口
事件流处理
基于事件触发的响应