首页 > 其他分享 >1.3 架构的底层逻辑-架构介绍

1.3 架构的底层逻辑-架构介绍

时间:2023-01-31 15:01:21浏览次数:36  
标签:逻辑 架构 1.3 系统 用户 视图 组件 底层

架构是什么

  • 架构是定义系统的结构,行为及其他视图的模型
  • 架构虚设是有关系统的正是描述以及呈现,以有助于了解系统结构和行为的方式来组织

认识架构4+1视图模型

在4+1视图将系统的架构用5种视图来表示:

场景视图

用于描述系统的参与者和功能用例之间的关系,反应系统最终的需求和交互设计

逻辑视图

逻辑视图主要用来支持功能性需求,系统应该提供什么样的服务给用户

开发视图

处理视图

又称进程试图。用于描述系统软件组件之间的通信时序,数据的输入输出。系统之间的各个进程调用关系:性能,伸缩性,吞吐量等

物理视图

指导部署

组件化思维

最简化思维是一种应用复杂的系统分解方式,把大的系统分解为组件。同时也利用了面向对象中的抽象和封装,模块化,层次结构思想。抽象了组件对外展现的公共接口,封装了隐藏组件内部的逻辑。

组件本身即是一种模块化的思想。组件可以套用行成父子组件,组件上的一层子系统,也可以理解为一个更大的组件。万物皆实体,皆对象,皆系统。

特定模式化的系统分解

一种识别组件的方式


优秀架构的一些标准

好的架构是怎么样的

  1. 架构是否满足了利益相关者的需求(通过对结构和行为的设计)
  2. 架构是具体好的结构能够支持持续最低成本应对变化(两个号的结构和行为交互)
  • 可审计性
  • 性能
  • 安全性
  • 数据
  • 合法性
  • 伸缩性
  • 扩展性
  • 可测试性

运行架构特征

类型 定义
可用性 系统可用时间,如果是24/7,则需要使系统在发生任何故障时能够迅速启动和运行
持续性 灾难恢复能力
性能 包括压力测试,峰值分析,分析功能的使用频率,所需容量和响应时间,性能报告有时需要自行演练,需要几个月才能完成
可恢复性 业务持续性要求
可靠性/安全性 评估系统是否需要具备某些安全功能,如果发生故障是否会给公司带来大笔资金损失
稳健性 在网络连接中段,断电或者硬件故障时,系统是否能够处理运行中的错误和边界条件
可扩展性 随着用户或请求数量的增加,系统执行和运行的能力

结构架构特征

类型 定义
可配置性 能够轻松的变更软件配置
可扩展性 添加新的功能是多么重要
可安装性 方便在所有必要的平台安装
可利用性/重复使用 能够重复利用通用组件
本地化 文字输入,多语言支持;报表,计量单位,货币支持
可维护性 轻松的进行应用变更和系统维护
可移植性 系统是否需要在超过一个平台上
支持性 应用需要什么级别的技术支持,
可升级性 能够在服务器和客户端轻松快速升级

跨领域架构特征

类型 定义
可访问性 让所用用户,包括色盲残疾听障人士都能访问(iphone 有类似支持)
归档性 数据是否需要在一段时间后归档或者删除
认证 安全要求,确保用户是那个人
权限 安全性要求,确保用户只能访问程序中的某些功能
法律要求 符合当地法律法规
隐私 个人信息数据加密存储,不泄露,不传播
安全性 随着用户或请求数量的增加,系统执行和运行的能力

最差可用架构

永远不要为了最好的架构努力,而要为最差可用的架构努力。--《软件架构指南》

架构师很少能够设计系统并使每个架构特征最大化,通常决策归结为几个相互竞争的问题的之间的权衡。

架构风格

单体架构

1. 分层架构

image.png

2. 管道架构

image.png

3. 微核架构


分布式架构

1. 基于SOA服务

2. 事件驱动

image.png

3. 微服务架构

标签:逻辑,架构,1.3,系统,用户,视图,组件,底层
From: https://www.cnblogs.com/imtudou/p/17078432.html

相关文章

  • 1.2 架构的底层逻辑-系统思维
    认识系统系统是什么1.由若干实体组成2.系统也是另一个系统中的实体如何认识系统,系统有什么特征系统具有形式属性(静态结构)和功能属性(动态结构)系统同时也是一个提......
  • 【Flink】浅谈Flink架构和调度
    【Flink】浅谈Flink架构和调度大家好,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!!Flink架构Fl......
  • 2023.1.28~2023.1.30 日寄
    2023.1.28~2023.1.30猜猜看为什么会积压三天?看看前两天在干什么吧。一言(1.28)我会被音乐打动、被诗歌打动,如果有一天我不再被打动了,我就会死。你知道我的意思吗?被打动......
  • 数码管动态显示+基于底层显示模块的应用层程序开发+Protues仿真
    1项目要求(1)数码管开机初始显示----,正常运行时显示2013;(2)数码管显示任意四位十进制数;2仿真测试3参考程序3.1主函数#include"DisplaySmg.h"voidmain(){......
  • 图解redis的5种数据类型底层原理
    redis的5种数据类型以及其底层实现redis是KV(key-valuepair)存储,不管是K还是V,底层都是对象(object组成)的,其中K是一个字符串对象(stringobject),V分别有我们常听说的5种......
  • 1.30 vp Codeforces Round #846 (Div. 2)
    A-HayatoandSchool、题意给出长度为n的序列a,要求判断是否存在三个数之和为奇数,若有则输出YES且输出这三个数的下标,否则输出NO思路数字和为奇数的情况只有奇+偶,......
  • 2023.1.30 每日三题
    1.由于项目范围发生变化,签约了一家新的供应商。该供应商曾有不按时交付的记录,这令项目经理十分担心。项目经理应该怎么做?A.立即终止与该供应商的合同。B.要求采购人员......
  • Spark 通讯架构和调度
    1、Spark通讯架构1.1Spark通信架构概述Spark2.x版本使用Netty通讯框架作为内部通讯组件。spark基于netty新的rpc框架借鉴了Akka的中的设计,它是基于Actor模型,如下图所示:图......
  • 认知篇:CQRS架构模式的本质
    作者:京东科技倪新明CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多......
  • caddyserver 架构简单说明
    概述caddy包含了command,corelibrary,以及modules,command主要是关于cli命令的corelibrary主要进行配置管理,可以Run()以及Stop()相关配置,同时也提供了一些工具,类型,以及......