抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

典型软件架构的脆弱性分析软件脆弱性:软件设计脆弱性、软件结构脆弱性 软件架构脆弱性是结构脆弱性的一种。 分层架构 层间的脆弱性。一旦某个底层发生错误,那么整个程序将会无法正常运行。 层间通信的脆弱性。大量层间消息交互容易造成性能下降。 C/S架构 客户端软件的脆弱性。存在程序被分析逆向,数据被截取的安全隐患。 网络开放性的脆弱性。客户端可以直接读取服务器端的数据。 网络协议的脆弱性。数据分...

系统分析与设计结构化方法结构化分析 SA使用手段:数据流图、数据字典、结构化语言、判定表、判定树 数据流图DFD方法基本元素: 数据流(Data Flow) 处理(Process) 数据存储 外部项 数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有...

嵌入式系统架构嵌入式处理器 微处理器 MPU 微控制器 MCU 信号处理器 DSP 图形处理器 GPU 片上系统 SOC 看门狗看门狗为嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序飞跑时重新启动系统。 基本原理: 计数器自动计数,程序定期将其重置,如果系统卡死或者程序跑飞,计数器溢出,进入中断处理,在设定的时间间隔内,系统保留状态后复位重启。 嵌入式操作系统内核架构 宏内核 ...

面向服务的体系结构SOA是一个组件模型,它将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来,以一种统一和通用的方式进行交互。 SOA与微服务的区别 微服务相比于SOA更加精细 微服务提供的接口更加通用化 微服务更倾向于分布式去中心化的部署 SOA的参考架构IBM的Websphere架构,分为六大类: 业务逻辑服务:业务逻辑 控制服务:人、流程、信息的集成 连接...

云原生架构设计将云应用中的非业务代码部分进行最大化地剥离,轻量、敏捷、高度自动化。 云原生的原则 服务化原则 弹性原则 可观测原则 韧性原则 所有过程自动化原则 零信任原则 架构持续演进原则 主要架构模式 服务化架构模式 DDD领域驱动设计 TDD测试驱动开发 容器化部署 Mesh化架构模式 服务网格 中间件与业务代码进一步解耦 Serverless模式 适合事件驱动的数据计算任务...

层次式架构设计层次式体系结构是一种常见的架构设计方法,它将系统组成为一个层次结构,每一层为上层服务,并作为下层的客户。大部分应用会分成: 表现层(展示层) 中间层(业务层) 访问层(持久层) 数据层 分层架构设计的核心和特点:关注点分离 注意点: 容易成为污水池反模式(Architecture Sinkhole Anti-pattern):请求流简单地穿过几个层,每个层里面基本没有做...

系统质量属性与架构评估软件系统质量属性软件系统质量属性是一个系统的可测量或可测试的属性,基于软件系统的生命周期,可将软件系统的质量属性划分为: 开发期质量属性 易理解性 可扩展性 可重用性 可测试性 可维护性 可移植性 运行期质量属性 性能 安全性 可伸缩性 互操作性 可靠性 可用性 鲁棒性 关键质量属性及策略 可用性 错误检测:心跳、Ping/Echo、异常 错误恢复:表决...

软件架构风格与信息系统架构软件体系结构设计的一个核心目标是重复的体系结构模式,即达到系统结构级的软件重用。软件体系结构风格描述是描述某一特定应用领域中系统组织方式和惯用模式。例如,如果某人将系统描述为“客户端/服务器模式”,那么不必给出设计细节,其他人就能立刻明白系统是如何组织和工作的。 数据流体系结构风格 批处理体系结构风格 管道-过滤器体系结构风格 调用/返回体系结构风格 主程序/...

Redis高可用高可用HA(High Availability)是系统架构中必须考虑的因素之一,是指通过各种架构设计方式和方法提高系统的可用性(减少系统不能提供服务的时间)。 为了避免系统单点故障,一般都是通过部署多台机器来提供服务实现系统的高可用Redis高可用的三种模式:主从模式、哨兵模式、集群模式 主从模式redis提供了Redis提供了复制(replication)功能,当一台red...

数据分片数据分片就是按照一定的规则,将数据集划分成相互独立正交的数据子集,然后将数据子集分布到不同的节点上,通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。 应用场景包括分库分表、缓存集群数据节点分片等。 常见的数据分片算法有:按数据范围分片、哈希分片、一致性哈希分片、哈希槽分片 按数据范围分片按数据范围分片实现比较简单,常见场景就是...