
系统架构
文章平均质量分 78
系统架构
Wlq0415
I wake up in morning and summarize
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DevOps 和 CI/CD
DevOps 是 “人、流程、工具” 的协同革命,而 CI/CD 是其中的技术落地路径。两者结合,让软件交付从 “瀑布式的慢节奏” 转向 “敏捷的持续流动”,成为数字化时代企业的核心竞争力之一。,旨在打破开发(Development)和运维(Operations)之间的传统壁垒,通过自动化工具和流程集成,实现。:开发人员频繁将代码合并到主干,自动检测集成错误。是 DevOps 中的。原创 2025-05-22 00:36:18 · 960 阅读 · 0 评论 -
论企业应用系统的数据持久层架构设计
2025 年 1 月,我参与某国内大型制造企业 ERP 财务模块开发项目,担任系统架构师,主导数据持久层架构设计与实施工作。项目中,为解决业务逻辑与关系型数据库间 “阻抗不匹配” 问题,提升数据访问效率与系统可维护性,设计了一套分层且可复用的数据持久层架构。通过运用 ORM 框架(MyBatis - Plus)、数据库连接池(HikariCP)等技术,结合数据访问模式的合理选择,实现了财务数据高效持久化。原创 2025-05-22 00:35:06 · 909 阅读 · 0 评论 -
层次式架构设计
层次式架构是一种高级软件系统抽象方法,通过将系统组织成层次结构,每层为上层提供服务并作为下层的客户,实现关注分离。这种架构模式,也称为N层体系架构,广泛应用于JavaEE,通常包括表现层、中间层(业务层)、数据访问层(持久层)和数据层。表现层设计模式包括MVC、MVP和MVVM,分别通过分离视图、控制器和模型来增强应用的灵活性和可维护性。业务层是系统功能的核心,采用容器形式便于开发和管理,而数据访问层则通过不同的数据访问模式(如在线访问、DAO、DTO、离线数据和ORM)实现数据的高效操作和管理。这种分层架原创 2025-05-19 23:34:40 · 933 阅读 · 0 评论 -
分布式缓存技术
是一种通过暂存数据副本以提高系统性能、减少延迟和降低资源消耗的技术。其核心思想是将频繁访问的数据存储在快速访问的介质(如内存)中,避免重复访问低速数据源(如磁盘、数据库),从而提升系统响应速度和吞吐量。原创 2025-05-19 16:03:46 · 514 阅读 · 0 评论 -
容器化技术
容器化技术通过。原创 2025-05-19 15:37:21 · 354 阅读 · 0 评论 -
服务网格技术(Service Mesh)
服务网格是微服务架构演进的关键基础设施,它通过将通信逻辑从应用中剥离,使开发者专注于业务逻辑,同时为大规模微服务提供健壮的治理能力。随着云原生技术的普及,服务网格已成为构建弹性、安全、可观测的分布式系统的核心技术之一。是一种用于管理微服务架构中服务间通信的基础设施层,旨在解决微服务环境下的通信复杂性、可靠性和可观测性问题。它通过在应用程序的微服务之间插入一个。将服务间的通信逻辑(如负载均衡、熔断、认证、监控等)从业务代码中剥离,实现透明化的通信管理。(如 Envoy、Linkerd)原创 2025-05-19 14:47:55 · 753 阅读 · 0 评论 -
软件架构概述
在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。,并指导如何将各个模块和子系统有效地组织成一个完整的系统。架构风格定义一个系统家族,即一个体系结构定义。原创 2025-03-06 17:35:22 · 240 阅读 · 0 评论 -
ABSD基于体系架构的软件设计方法
基于架构的设计(ABSD)Architecture-Based Software Design是一种软件设计方法,强调软件架构设计应该由。这种设计方法有助于开发出高质量的软件系统,并且能够灵。在明确项目总体功能框架的前提下开始。原创 2025-03-18 14:08:21 · 355 阅读 · 0 评论 -
软件架构风格概述
数据流风格:适合数据按顺序流动的场景,每个组件只处理它接收到的数据。管道—过滤器风格:适合需要增量处理和并行执行的场景,每个过滤器独立处理数据流,并将结果传递给下一个过滤器。批处理序列风格:适合需要整体处理数据集的场景,每一步处理都是在前一步完成后进行的。共同点:两者都把任务分成一系列固定顺序的计算单元(组件),组件间只通过数据传递交互。区别批处理:全部数据作为一个整体进行处理,步骤之间数据传递是完整的,处理延迟较高。管道过滤器。原创 2025-03-13 16:10:12 · 714 阅读 · 0 评论 -
体系架构的演化
构建开发过程中,用户的需求可能还有变动,就必须相应的修改软件体系结构,来适应已发生的软件需求.原创 2025-04-22 10:29:06 · 112 阅读 · 0 评论 -
软件架构的演化和维护
软件架构的演化和维护:软件架构演化的主要类型:软件架构演化分类方法:软件架构动态演化技术:软件动态性级别:大型网站系统架构演化实例:软件架构维护:架构演化评估:架构演化原则:原创 2025-03-11 16:24:56 · 277 阅读 · 0 评论 -
三层栈(TLS)软件总体架构
三层栈(TLS,Three - Layer Stack)软件总体架构常用于嵌入式系统、工业自动化、物联网等领域,这些领域的系统通常需要与各种硬件设备进行紧密交互,对硬件的控制和管理要求较高。例如,在智能家居系统中,TLS 架构可以使控制软件方便地与不同品牌和型号的传感器、执行器等硬件设备进行通信和协同工作。通常由应用层、中间层和硬件抽象层三个主要层次构成。一般分为应用层、中间层和硬件抽象层。应用层主要实现具体的业务功能,为用户提供服务;中间层承担数据处理、协议转换等通用功能,对应用层提供支持;原创 2025-05-08 11:17:19 · 365 阅读 · 0 评论 -
面向服务的架构SOA
基于SOA架构的思想 ,为了满足移动互联网对大型项目及多客户端的需求 ,对服务层进行细粒度的拆分 ,所拆分的 每个服务只完成某个特定的业务功能 ,比如订单服务只实现订单相关的业务 ,用户服务实现用户管理相关的业务等 等 ,服务的粒度很小 ,所以称为微服务架构。1、基于SOA的架构思想 ,将重复公用的功能抽取为组件 ,以服务的方式向各各系统提供服务。1、将重复的功能抽取为服务 ,提高开发效率 ,提高系统的可重用性、 可维护性。1、系统与服务的界限模糊,会导致抽取的服务的粒度过大,系统与服务之间耦合性高。原创 2024-10-11 16:03:16 · 489 阅读 · 0 评论 -
“腰型”(Waistline)通信模式
腰型” 通信模式可以用人体的腰来形象地比喻。人的腰部连接着身体的上半身和下半身,起着承上启下的关键作用。“腰型” 通信模式中的基本消息通信层(BMTS)就如同人体的腰,它把上层的应用程序或计算组件与下层不同的硬件、协议及网络隔离开来2。上层的应用程序或计算组件就像是人的上半身,负责各种具体的思考、决策和指令发出等功能,它们只需要通过统一的接口与 “腰”(BMTS)进行交互,将需要传递的信息交给 BMTS,而不必关心底层是如何实现传输的,就像我们的大脑不用去管身体的各个部位是如何具体执行动作的。原创 2025-05-08 11:05:39 · 509 阅读 · 0 评论 -
多核技术和多线程技术
在单个物理处理器芯片中集成多个独立的计算核心(CPU Core),每个核心可以独立执行指令。原创 2025-05-07 14:32:20 · 809 阅读 · 0 评论 -
基于反向代理的负载均衡机制
基于反向代理的负载均衡机制是一种通过中间服务器(反向代理)将客户端请求分发到多个后端服务器的技术,旨在提升系统的可用性、扩展性和性能。:位于服务器端,接收客户端请求并转发至后端服务器,同时将响应返回给客户端。:反向代理的核心功能之一,通过算法将请求合理分配到多个服务器,避免单点过载,提高资源利用率。:根据服务器响应时间动态分配,响应越快,获得越多请求(需监控支持)。:基于客户端IP计算哈希值,固定分配到同一服务器,维护会话一致性。SSL终止提升安全。:高并发时,单个服务器处理能力有限,多台服务器并行处理。原创 2025-05-07 11:50:28 · 571 阅读 · 0 评论 -
DNS 负载均衡机制
当客户端想要访问一个域名对应的服务时,它会向 DNS 服务器发送域名解析请求。DNS 服务器会根据预设的负载均衡策略,从多个对应该域名的服务器 IP 地址中选择一个返回给客户端。客户端就会根据这个 IP 地址去访问对应的服务器,从而实现了请求在不同服务器之间的分配。原创 2025-05-07 11:42:52 · 451 阅读 · 0 评论 -
负载均衡机制
负载均衡机制通过智能流量分发提升系统性能和可靠性,选择时需结合业务场景(如协议类型、会话需求)和运维成本(硬件/云服务)。:工厂任务分配,根据机器当前负荷(如电量、温度)动态调整生产任务。:定期向服务器发送探测请求(如HTTP GET),检测节点状态。:基于软件实现(如Nginx、HAProxy),灵活且成本低。:云服务商提供的托管服务(如AWS ALB、GCP CLB)。:云函数(如AWS Lambda)自动扩展,无需显式配置。:适用于TCP/UDP流量(如游戏服务器、数据库集群)。原创 2025-05-07 11:36:57 · 786 阅读 · 0 评论 -
Memcached分布式缓存机制
(3) 缓存数据类型:数据库查询缓存只能缓存数据库行,对社交网站好友动态显示等典型业务所需要的组合数据缓存缺乏有效支持,而Memcached理论上可缓存任何内容。(1) 缓存架构:数据库查询缓存通常每个数据库只有一个实例,因此存储内容受数据库服务器可用内存限制,可缓存数据有限。而Memcached可通过键值将数据进行散列缓存,有效降低缓存的更新频率,从而提高缓存的有效性。通过分布式部署和缓存机制,Memcached 可显著减轻数据库压力,提升系统的并发处理能力和响应速度,广泛应用于 Web 应用等场景。原创 2025-05-07 11:26:59 · 170 阅读 · 0 评论 -
构件驱动软件开发CBSD与CORBA构件模型
基于构件的开发模型将软件系统分解为独立的构件(也称为组件或模块),每个构件都具有明确定义的功能和接口。构件驱动软件开发(CDSD)是一种现代化的软件开发方法,通过构件的重用和组合,提升了开发效率和软件质量。- **COTS定义**:商业现成软件(Commercial Off-The-Shelf Software)是指市场上可购买的、现成的软件产品。- **依赖性**:依赖于第三方供应商的支持和更新,可能面临供应商锁定的问题。- **成熟性**:COTS产品经过市场验证,通常具有较高的稳定性和可靠性。原创 2024-10-10 13:55:58 · 1006 阅读 · 0 评论 -
瘦客户端和胖客户端
瘦客户端:是一种基于服务器 - 客户端架构的计算模式,客户端软件只负责提供用户界面和简单的输入输出功能,而将大部分的业务逻辑和数据处理都放在服务器端进行。例如,通过浏览器访问的网页应用程序就是典型的瘦客户端,用户通过浏览器发送请求,服务器处理请求并返回结果,浏览器只负责展示内容。胖客户端:也称为厚客户端,在这种架构中,客户端软件承担了大量的业务逻辑处理和数据存储功能,服务器端主要负责提供数据存储和一些基础的服务。原创 2025-05-07 11:08:32 · 495 阅读 · 0 评论 -
三层架构设计
架构分层:表现层:中间层(业务逻辑层):持久层:原创 2025-03-17 10:45:03 · 255 阅读 · 0 评论 -
可靠性设计方法
恢复块方法和 N 版本程序设计方法有以下区别:原创 2025-05-07 10:52:41 · 709 阅读 · 0 评论 -
软件架构模型(4+1视图)
4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件架构。这种方法以架构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。通过这五个视图的结合,"4+1视图"模型能够提供一个全面的架构视角,帮助架构师、开发人员和其他利益相关者更好地理解和沟通系统的设计与实现。可以将软件架构归纳成5种模型:结构模型、框架模型、动态模型、过程模型和功能模型最常用的是结构模型和动态模型。原创 2025-04-22 10:37:57 · 593 阅读 · 0 评论 -
系统质量属性与架构评估
安全性:系统能够向合法用户提供服务,并拒绝向非授权用户提供服务;(通常使用入侵检测,用户认证,用户授权,追踪审计等架构策略实现该属性)可用性:系统能够正常运行的时间比例;(通常使用心跳,Ping/Echo,主动冗余,被动冗余,选举等架构策略实现该属性)可修改性:能够快速地以较高的性价比对系统进行变更的能力;(通常使用增加计算资源,减少计算开销,引入并发机制,采用资源调度,实现该属性)可靠性:系统在意外或错误使用的情况下维持系统功能特性的基本能力;互操作性:系统同其他系统或自身环境间的交互作用;原创 2024-10-08 16:34:29 · 1734 阅读 · 0 评论 -
软件质量属性案例题
系统的架构风险、敏感点和权衡点是对质量属性效用树进行分析的主要依据,根据相关概念,题干中“系统传输信息的加密程度将影响系统的安全性”描述的是敏感点;并选择题干描述中的(a)~(k),将恰当的序号填入( )~( )空白处,完成该系统的效用树。并选择题干描述中的(a)~(h),将恰当的序号填入( )~( )空白处,完成该系统的效用树。在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。的定义,并从题干描述中的(a)~(k)各选出1个属于系统架构风险、敏感点和权衡点的描述。原创 2025-04-22 14:20:51 · 740 阅读 · 0 评论 -
C/S架构和B/S架构
服务器层就像是网站的后台,它负责接收用户的请求(浏览商品、提交订单等),处理这些请求(从数据库获取商品信息、处理订单信息等),然后将处理结果(商品页面、订单确认页面等)返回给用户的浏览器。在该工程项目中,采用客户机/服务器(C/S)和浏览器/服务器(B/S)相结合的混合架构风格,旨在结合两者的优势,以满足企业多样化的业务需求和场景。这两种架构风格各有优缺点,适用于不同的场景。综上所述,结合C/S和B/S架构的混合方案能够充分发挥两种架构的优势,满足企业多样化的业务需求,提高系统的灵活性、效率和安全性。原创 2025-03-06 17:45:28 · 1437 阅读 · 0 评论 -
遗留系统的演化策略
在集成过程中,可采用由互连系统构成的系统的体系结构,遗留系统可作为从属系统来描述。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台,不同的数据模型。第1象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有较大的生命力,目具有较高的商业价值,基本上能够满足企业业务运作和决策支持的要求。对选留系统的完全淘汰是企业资源的根本浪费,应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。现代信息系统建设方法。原创 2025-04-22 09:49:38 · 906 阅读 · 0 评论 -
MVP和MVC(
主要区别:MVC中,Controller处理用户输入和界面逻辑;而在MVP中,Presenter处理用户输入和界面逻辑。适用场景:MVC适合Web应用程序,因为Controller可以很自然地处理HTTP请求;MVP更适合桌面应用程序或移动应用程序,因为它将UI逻辑与UI组件分离,便于测试和维护。测试:MVP的Presenter可以独立于UI进行测试,这通常比MVC中的Controller更容易测试。原创 2025-03-17 10:03:04 · 389 阅读 · 0 评论 -
CORBA构件
CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)的构件标准时,对象管理组织(OMG)确实定义了四种主要的构件类型,它们分别是实体(Entity)、加工(Process)、会话(Session)和服务(Service)构件。它们的状态信息由容器来管理,这意味着容器负责保存和恢复这些构件的持久化数据。因此,在这道题中,正确答案是D(会话构件),因为它是在这四种构件中唯一一个需要自己管理状态信息的构件。原创 2025-03-04 10:37:27 · 216 阅读 · 0 评论 -
黑板架构风格
黑板架构风格是一种软件架构风格,主要应用于需要多个组件协同工作的系统中。其核心思想是通过共享的数据结构(称为黑板)来实现组件之间的通信和协作。原创 2025-03-04 10:42:00 · 469 阅读 · 0 评论 -
J2EE平台
J2EE(Java 2 Platform, Enterprise Edition)为构建复杂的企业级应用提供了全面的技术支持和规范标准。自从上世纪末推出以来,J2EE 已经成为中不可或缺的一部分。它通过组件化、多层次的分布式应用模型,允许开发者构建具有的企业级解决方案。J2EE平台的核心特性是它能够的企业级应用。J2EE 是针对 Web Service、业务对象、数据访问和消息报传送的一组规范。这组应用编程接口确定了 Web 应用与驻留它们的服务器之间的通信方式。原创 2024-11-07 10:37:53 · 900 阅读 · 0 评论 -
J2EE分层架构和EJB
EJB(Enterprise JavaBeans)构件是Java平台企业版(Java EE)中用于构建分布式企业级应用程序的核心组件。EJB提供了一种简化的方式,使得开发者可以创建可移植的、安全的、可伸缩的、事务性的、并发的组件,这些组件可以运行在支持Java EE的服务器上。原创 2025-02-19 14:55:42 · 339 阅读 · 0 评论 -
双机热备技术
双机热备(Hot Standby)是一种高可用性(HA, High Availability)解决方案,通过两台服务器实时同步数据并相互备份,旨在确保系统在硬件故障、软件崩溃或计划性维护时仍能持续提供服务,避免单点故障导致的业务中断。原创 2025-01-26 09:44:32 · 574 阅读 · 0 评论 -
DDD领域驱动设计和DSSA特定领域软件架构
DDD的核心思想是通过深入理解业务领域,将业务逻辑和规则直接映射到软件设计中,以应对复杂系统的开发。原创 2024-11-08 14:50:27 · 800 阅读 · 0 评论 -
应用服务器
另外一个方面,在激烈的市场竞争条件下,企业的商业逻辑不可能一成不变,而随着生产经营的拓展,首先需要解决的一个问题就是将按需地对现有的业务系统,方便地进行扩充和升级。运行:应用服务器采用的是开放技术标准,它提供了一个完整的标准实现,即提供了系统的运行环境,任何基于同样标准的系统都能很好地运行于这个环境中。部署:应用服务器可以部署在任何硬件平台、任何操作系统上,而且可以分布在异构网络中,应用服务器帮助用户在复杂的网络环境中配置系统参数,使系统发挥最大的性能,拥有最好的稳定可靠性。原创 2024-11-07 10:11:34 · 911 阅读 · 0 评论 -
middleware中间件概述
中间件(middleware)是基础软件的一大类,属于的范畴。顾名思义,中间件处在操作系统、网络和数据库之上,应用软件的下层(如图 15-1 所示),也有人认为它应该属于操作系统中的一部分。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。这些服务程序或软件具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。原创 2024-11-07 09:50:39 · 1355 阅读 · 2 评论 -
RESTful API技术
1、软件架构为软件系统提供了一个的高级抽象。(背)(理解)1.结构:软件结构中,我们可能会有用户界面、订单处理系统和库存管理系统等组件。这些组件如何分布和协作,例如用户界面调用订单系统来处理购买请求。2.行为:行为描述了软件在实际操作中的动态过程,例如,当用户点击“购买”按钮时,系统如何验证库存创建订单、处理支付,并最终确认订单。3.属性:属性涵盖软件的性能(如页面加载速度)、可靠性(系统处理订单的稳定性)、和安全性(如用户数据的保护措施)等。原创 2024-10-09 14:45:55 · 1021 阅读 · 0 评论