架构风格区别-架构案例(五十九)

管道-过滤器和仓库的区别?

  1. 独立的数据仓库,处理流独立,处理数据用连接仓库工具
  2. 数据与处理在一起,改动的话需要重启系统
  3. 需要仓库工具与仓库连接,数据与处理分离,性能差
  4. 可以支持并发连接访问仓库,提升性能

面向对象和基于规则区别?

  1. 规则是独立的,用户和规则动态组合
  2. 加入新的用户级别和折扣规则必需修改代码,并且重启系统
  3. 用户和规则在一起,不需要解释,性能较好

管道-过滤器 和 数据仓储的区别?

(1)通过仓储中间件来交互

  1. 流动数据结构,流式数据

  2. 数据驱动

  3. 根据特定的仓储规则进行扩展

  4. 给出SOA架构四种基本功能?

  1. 负责各个服务之间数据格式的转换。

  2. 负责元数据和每个服务的注册。

  3. ESB服务总线把每个服务一起管理,方便交互,将不同系统通过api,web Service来进行连接

  4. 路由、发现、选择等能力。

  5. 以及服务请求的负载均衡。

  6. 分析软件架构评估所关注的质量属性有哪些,每个具体含义?评估的方法有哪些?具体实施如何?

  1. 性能:接口的响应时间,吞吐量,准确性,按规定时间内返回给用户。
  2. 可修改性:开发人员在规定时间内以较少的成本完成修改开发。
  3. 安全性:数据和系统是安全的,保证用户不会恶意访问到。
  4. 可用性:系统宕机在规定时间内启动备用系统,保证不会阻断用户流程。

问卷调成:个人主观性太强。

基于度量:对项目的细节要求能力太强。

基于场景,分为软件架构权衡 分析ATAM(Architecture Traceoff AnalyzeMethod),成本分析CBAM,软件系统分析法CAAM。

实施?

先对大家做个ATAM介绍,

分为:场景和需求的收集、架构视图和场景的实现属性模型的构造和分析、评估和折中

  1. 微服务特点,写五条?
  1. 性能提升,针对功能来划分团队,将各个功能分别部署在单个服务器。

  2. 不在局限于编程语言,不同的微服务可以采用不同的语言实现,只需要按标准的协议沟通。

  3. 按功能划分,可以采用更小的团队来维护。

  4. 独立的服务组件,可复用更高。

  5. 数据离散化管理,各个服务数据会出现不一致情况。

  6. 基础设施,自动化管理。

  7. 详细论述基于构件开发的方法主要过程?

  1. 修改构件
  2. 组装构件
  3. 评价构件
  4. 部署构件
  5. 获取构件

自底向上开发。

  1. 详细论述软件工程软件维护性因素主要有哪些?
  1. 可修改性维护,在规定时间内较少成本开发修改。

  2. 可理解性维护:用户和开发人员理解。

  3. 易完善性维护。

  4. 预防性维护:提出系统风险点,给出预防措施,减少风险。

  5. 常用架构风格有哪些,特点?

  1. 面向对象:实体转换为代码里的对象,方便理解,适合较大项目的开发。

  2. 隐式调用风格:可以将业务解耦,还可以异步提高接口性能。

  3. 层次架构风格:提高并行开发效率,解耦业务数据和业务逻辑,展示层没有逻辑处理,安全性也得到提升。

  4. 基于构件风格:提取公共的代码组成构件,方便调用,减少冗余代码量。

  5. 安全架构哪些方法解决?

  1. sql注入。

  2. 用户登入信息鉴权。

  3. 用户密码加密MD5。

  4. 系统的可用性容灾备份安全。

  5. 数据加密,摘要,数字签名。

  6. 日志记录,数据双份保险。

  7. 层次架构四个层次的作用?

  1. 展示层:主要接受用户页面请求的入参,以及返回数据库数据给用户可视化。
  2. 中间逻辑处理层:中间层可以分为controller控制层和DomainService领域层和Service层,controller和展示层交互,接受入参,领域层处理主要业务逻辑,service主要与数据库访问层交互。
  3. 数据库访问层:解耦业务数据和业务逻辑,可以隐藏sql和数据库事务处理,减少开发人员学习成本。显式给开发人员调用方式使用,也可以自定义sql增加复杂sql的处理能力。
  4. 数据库层:主要负责业务数据的持久化。
相关推荐
Galaxy在掘金42 分钟前
从业8年,谈谈我认知的后端架构之路-1
java·架构
天波信息技术分享3 小时前
AI 云电竞游戏盒子:从“盒子”到“云-端-芯”一体化竞技平台的架构实践
人工智能·游戏·架构
k↑4 小时前
微服务之注册中心与ShardingSphere关于分库分表的那些事
数据库·微服务·架构·shardingsphere
Tadas-Gao7 小时前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
高阳言编程19 小时前
3. 存储、中断、总线与 I/O 系统
架构
夜影风1 天前
RabbitMQ核心架构与应用
分布式·架构·rabbitmq
奥格列的魔法拖鞋~1 天前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp
泉城老铁1 天前
在秒杀场景中,如何通过动态调整线程池参数来应对流量突增
后端·架构
技术老金1 天前
给你的AI应用“降本增效”:吃透模型级联、智能缓存等三大成本优化策略
人工智能·架构