软考-系统分析师-案例5总结-WEB架构设计
2024-12-23 10:41:32 0 举报
AI智能生成
软考-系统分析师-案例5总结-WEB架构设计
作者其他创作
大纲/内容
层次式设计
分层设计是一种最常见的架构设计方法,能有效使设计简化,是设计的系统结构清晰,便于提高复用
能力和产品维护能力。
层次是架构一般分为
表现层框架设计
常见的web服务器有:Apache、Nginx、tomcat、Jboss(基于J2EE)、IIS、Jetty
专业的负载均衡构件:LVS。Linux Virtual Server的简写,意即Linux虚拟服务器。主要用于多服务器的负载均衡。它工作在网络
层,可以实现高性能,高可用的服务器集群技术。
层,可以实现高性能,高可用的服务器集群技术。
廉价
易用
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址互相映射的一个分布式数据库,
能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得
到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端
口号53。
能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得
到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端
口号53。
CDN的全称是Content Delivery Network,即内容分发网络。
中间层架构设计
数据访问层设计(可选,持久层架构设计)
数据架构设计
多层架构的优点
开发人员可以只关注整个结构中的其中某一层;
可以很容易的用新的实现来替换原有层次的实现
可以降低层与层之间的依赖
有利于标准化;
利于各层逻辑的复用
扩展性强。不同层负责不同的层面
安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了
项目结构更清楚,分工更明确,有利于后期的维护和升级。
多层架构的缺点
严格的分层可能导致性能问题,具体取决于层数
建立清晰的分层架构并不总是很容易。
Web系统其他常用构件
keepalive高可用构件
软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来
又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以和VIP漂移
技术搭配,作为其他服务(例如:LVS、Nginx、MySQL等)的高可用解决方案软件。
又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以和VIP漂移
技术搭配,作为其他服务(例如:LVS、Nginx、MySQL等)的高可用解决方案软件。
在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用
以告诉备Backup节点自己还活看,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就
因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的
IP资源及服务,从而备节点升级为主节点,继续提供服务
以告诉备Backup节点自己还活看,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就
因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的
IP资源及服务,从而备节点升级为主节点,继续提供服务
新技术
云计算
分类
IAAS
SAAS
PAAS
关键技术
虚拟化技术、云存储技术、多租户和访问控制管理、云安全技术
虚拟机三大模块:存储、计算、网络
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程
CUP的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统。
容器技术
由操作系统提供虚拟化支持,目前最受欢迎的容器环境是Docker
云原生
云原生架构
从技术角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量肺功能特性,使业务不再有非功能性业务中断困扰的同时具备轻量、敏捷、高度自动化的特点
与传统架构的不同
代码结构发生巨大变化
非功能特性大量委托
高度自动化的软件交付
容器以一种标准的方式对软件进行打包,容器及相关技术帮助屏蔽不同环境之间的差异,进而基于容器做标准化的软件交付。
云计算下的高可用
虚拟机:当虚拟机检测到底层硬件发生异常时,自动帮助应用做热迁移,迁移后的应用不需重新启动而仍然具备对外服务的能力,应用对整个迁移过程都不会有任何感知。
容器:有时应用所在的物理机是正常的,只是应用自身的问题(比如 bug、资源耗尽等)而无法正常对外提供服务。容器通过监控检查探测到进程状态异常,从而实施异常节点的下线、新节点上线和生产流量的切换等操作,整个过程自动完成而无需运维人员干预。
云服务:如果应用把“有状态”部分都交给了云服务(如缓存、数据库、对象存储等),加上全局对象的持有小型化或具备从磁盘快速重建能力,由于云服务本身是具备极强的高可用能力,那么应用本身会变成更薄的“无状态”应用,高可用故障带来的业务中断会降至分钟级;如果应用是 N-M 的对等架构模式,那么结合负载均衡产品可获得很强的高可用能力。
容器技术
容器作为标准化软件单元,将应用及其所有依赖项打包,使应用不再受环境的限制,在不同计算环境间快速、可靠的运行
子主题
Docker容器基于操作系统虚拟化技术,共享操作系统内核、轻量、没有资源损耗、秒级启动,极大提升了系统应用部署密度和弹性。更重要的是,Docker 提出了创新的应用打包规范一-Docker 镜像,解耦了应用与运行环境,使应用可以在不同计算环境一致、可靠地运行。借助容器技术呈现了一个优雅的抽象场景:让开发所需要的灵活性、开放性和运维所关注的标准化、自动化达成相对平衡。容器镜像迅速成为了应用分发的工业标准。
容器编排
Kubernetes 已经成为容器编排的事实标准,被广泛用于自动部署,
扩展和管理容器化应用
扩展和管理容器化应用
Kubernetes 提供了分布式应用管理的核心能力:
资源调度
应用部署与管理:
自动修复
服务发现与负载均衡
弹性伸缩
声明式API
可扩展性架构
可移植性
云原生微服务
Apache Dubbo
Spring Cloud
Eclipse MicroProfile
Tars
SOFAStack
DAPR
无服务器技术
无服务器技术 (Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一
Serverless 计算包含以下特征
(1)全托管的计算服务。客户只需要编写代码构建应用,无需关注同质化的、负担繁重的基于服务器等基础设施的开发、运维、安全、高可用等工作;
(2) 通用性。结合云 BaaSAPI的能力,能够支撑云上所有重要类型的应用;
(3)自动弹性伸缩。让用户无需为资源使用提前进行容量规划
(4)按量计费。让企业使用成本得有效降低,无需为闲置资源付费。
大数据
大数据特征
数据海量(Volume)
数据类型多样(Variety)
数据价值密度低(Value)
数据处理速度快(Velocity)
数据质量高(Veracity)
大数据关键技术
大数据获取技术:大数据获取的研究主要集中在数据采集、整合和清洗三个方面。
分布式数据处理技术:主流的分布式计算系统有Hadoop、Spark和Storm。Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的实时的大数据处理。
大数据管理技术:大数据管理技术主要集中在大数据存储、大数据协同和安全隐私等方面。
大数据应用和服务技术:主要包含分析应用技术和可视化技术。
大数据处理系统架构特征
鲁棒性和容错性
低延迟读取和更新能力
横向扩容
通用性
延展性
即席查询能力
最少维护能力
可调试性
5G
gNB
5G基站名称
ng-eNB
4G
0 条评论
下一页