架构设计特训

2024-02-05 00:52
文章标签 架构设计 特训

本文主要是介绍架构设计特训,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、考点分布

  • 软件架构风格(※※※※)
  • 层次型软件架构风格(※※※※)
  • 面向服务的软件架构风格(※※※※)
  • 云原生架构风格(※※※※)
  • 质量属性与架构评估(※※※※※)
  • Web架构综合考察(※※※※※)

二、软件架构风格

三、C/S架构与B/S架构

 

四、层次式结构

五、MVC架构风格

Model(模型):应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型通为多个视图提供数据。提高应用的可重用性。

View(视图):用户看到并与之交互的界面。接收用户输入数据,向用户展示数据。

Controller(控制器):用户界面与Model的接口。解释视图的输入,将其解释为系统能够理解的对象,同时识别用户运作,将其解释为对模型特定方法的调用。处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。

六、MVP架构风格

MVP是MVC的变种,其优点包括:

  • 模型与视图完全分离,可以修改视图而不影响模型
  • 可以高效地使用模型,因为所有交互都发生在一个地方(Presenter)内部
  • 可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑
  • 如果把逻辑放在Presenter中,就可以脱离用户接口来测试这些逻辑(单元测试)

 七、MVVM架构风格

MVVM强调了数据绑定

八、RIA架构风格

优点:反应速度快、易于传播、交互性强

九、数据访问层设计

ORM:对象与关系数据之间的映射

十、物联网分层架构

十一、大数据分层架构

十一、基于服务的架构(SOA)

        服务是一种为了满足某项业务需求的操作、规则等的逻辑组合,它包含一系列有序活动的交互,为实现用户目标提供支持。

服务、构件和标准化接口的关系

  • 服务构件粗粒度,传统构件细粒度居多
  • 服务构件的接口是标准的,主要是WSDL接口,传统构件常以具体API形式出现
  • 服务构件的实现与语言无关,传统构件绑定某种特定语言
  • 服务构件可以通过构件容器提供Qos的服务,传统构件完全由程序代码直接控制

十二、WEB服务

WSDL:是WebService接口对应的WSDL文件,该文件通过xml格式说明如何调用,可以看作WebService的接口文档(使用说明书)

十三、REST(表述性状态转移)

        REST是一种通常使用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

REST原则

  • 网络上的所有事物都抽象为资源
  • 每一个资源对应一个唯一的资源标识
  • 通过通用的连接件接口对资源进行操作
  • 对资源的各种操作不会改变资源标识
  • 所有的操作是无状态

十四、ESB(企业服务总线)

 

ESB的特点

  • 提供位置透明性的消息路由和寻址服务
  • 提供服务注册和命名的管理功能
  • 支持多种消息传递泛型
  • 支持多种可以广泛使用的传输协议
  • 支持多种数据格式及其相互转换
  • 提供日志和监控功能

 十五、微服务

微服务:很小的服务,它面向服务架构一种

微服务优点

  • 复杂应用解耦:化整为零
  • 独立:独立开发,独立测试及独立部署,独立运行
  • 技术选型灵活:支持异构(如:每个服务使用不同数据库)
  • 容错:故障被隔离在单个服务中
  • 松耦合,易扩展

面临的问题

  • 分布式环境下的数据一致性
  • 测试的复杂性(服务间依赖测试)
  • 运维的复杂性

微服务架构模式方案

微服务与SOA区别

  • 微服务比SOA更细,可以独立进程方式存在
  • 微服务接口更通用化,如用HTTP RESTful,各种终端都可调用,语言无关,平台无关。
  • 更倾向与分布式部署,更适合互联网场景

十六、云计算

         云计算是集合了大量计算设备和资源,对用户屏蔽底层差异的分布式处理架构,其用户与提供实际服务的计算资源是相互分离。

        云计算优点:超大规模、虚拟化、高可靠性、高可伸缩性、按需服务、成本低

云计算按服务类型分类

  • SaaS(软件即服务):基于多租户技术实现,直接提供应用程序
  • PaaS(平台即服务):虚拟中间件服务器、运行环境和操作系统
  • IaaS(基础设施即服务):包括服务器、存储和网络等服务

云计算按部署方式分类

  • 公有云:面向互联网用户需求,通过开放网络提供云计算服务
  • 私有云:面向企业内部提供云计算服务
  • 混合云:兼顾以上两种情况的云计算服务

16.1 云计算架构

管理层:提供对所有层次云计算服务的管理功能。

用户访问层:方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。

应用层:提供软件服务,如:财务管理,客户关系管理,商业智能

平台层:为用户提供对资源层服务的封装,使用户可以构建自己的应用

资源层:提供虚拟化的资源,从而隐藏物理资源的复杂性。如:服务器,存储

十七、云原生架构

云原生:是基于分布部署和统一运营的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术体系。

17.1 云原生架构的设计原则

  • 服务化原则:使用微服务
  • 弹性原则:可根据业务变化自动伸缩
  • 可观测原则:通过日志、链路跟踪和度量
  • 韧性原则:面对异常的抵御能力
  • 所有过程自动化原则:自动化交付工具
  • 零信任原则:默认不信任网络内部和外部的任何人/设备/系统
  • 架构持续演进原则:业务高速迭代情况下的架构与业务平衡

17.2 云原生架构模式

  1. 服务化架构模式:微服务,服务拆分使维护压力大增
  2. Mesh化架构模式:把中间件框架(RPC、缓存、异步消息)从业务进程中分离,由Mesh进程完成
  3. Serverless模式:非常适合于事件驱动的数据技术任务
  4. 存储计算分离模式:各类暂时的数据有云服务保存
  5. 分布式事务模式:解决微服务模式中多数据源事务问题
  6. 可观测架构:包括Logging、Tracing、Metrics三个方面
  7. 事件驱动架构:本质上是一种应用/组件间的集成架构模式

这篇关于架构设计特训的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/679315

相关文章

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

[Linux Kernel Block Layer第一篇] block layer架构设计

目录 1. single queue架构 2. multi-queue架构(blk-mq)  3. 问题 随着SSD快速存储设备的发展,内核社区越发发现,存储的性能瓶颈从硬件存储设备转移到了内核block layer,主要因为当时的内核block layer是single hw queue的架构,导致cpu锁竞争问题严重,本文先提纲挈领的介绍内核block layer的架构演进,然

2014级寒假特训之并查集专题

Problem A: Double和XXZ的生日宴请 Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 9   Solved: 7 [ Submit][ Status][ Web Board] [ Edit] [ TestData] Description Double 和 XXZ同一天生日,他们俩30岁生日那天,当年

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:         第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。 一、嵌入式系统发展历程

系统架构师考试学习笔记第三篇——架构设计高级知识(18)面向服务架构设计理论与实践

本章考点:         第18课时主要学习面向服务架构设计理论与实践。根据考试大纲,本课时知识点会涉及单选题型(约占2~5分)和案例题(25分),本课时内容偏重于方法的掌握和应用,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律,概念知识的考查内容多数来源于实际应用,还需要灵活运用相关知识点。         本课时知识架构如图18.1所示。 一、SOA的相关概念 (

首次揭秘,面向核心业务的全闪分布式存储架构设计与实践

当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。 机械盘本身的 IOPS 一直徘徊在数百的级别,为了提高传统存储的性能,有些存储厂商加了缓存层,然而目前应用正由单一走向多元化,导致 IO 特征无法预测,缓存也难以发挥作用。 机械盘依赖盘片的旋转和机械臂的移动进行 IO,目前转速基本达到物理极限,所以机械盘性能一直徘徊不前,无法满足企业核心业务对于存储性能的要求

Apache Hudi 架构设计和基本概念

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! Apache Hudi是一个Data Lakes的开源方案,Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案。Hudi具有如下基本特性/能力

胖哥的经验 | 一款普适的实时数仓架构设计

什么?胖哥的经验,没错这是来自我们大数据成神之路小伙伴的经验。有什么问题,欢迎大家加群讨论,公众号回复【加群】。 一、实时数仓的架构背景 首先我们来聊一聊实时数仓是怎么诞生的,在离线数仓的时候数据是T+1的也就是隔一天才能看到昨天的数据,这种形式持续了很久的时间,但是有些场景真的只有实时的数据才有用武之地。例如推荐、风控、考核等。那么这个时候实时指标也就应运而生,在最开始的时候,采用flink\

「Apache Hudi系列」核心概念与架构设计总结

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 简介 Apache Hudi依赖 HDFS 做底层的存储,所以可以支撑非常大规模的数据存储。同时基于下面两个原语,Hudi可以解决流批一体的存储问题。 提供了在hadoop兼容的存储之上存储大量数据,同时它还提供两种原语: Update/Delete 记录:Hudi 支持更新/删除记录,使用文件/记录级别索引,同时对写操作提供事务保

《论面向服务架构设计及其应用》写作框架,软考高级系统架构设计师

论文真题 面向服务架构(Service-Oriented Architecture, SOA) 是一种应用框架,将日常的业务应用划分为单独的业务功能服务和流程,通过采用良好定义的接口和标准协议将这些服务关联起来。通过实施基于SOA的系统架构,用户可以构建、部署和整合服务,无需依赖应用程序及其运行平台,从而提高业务流程的灵活性,帮助企业加快发展速度,降低企业开发成本,改善企业业务流程的组织和资