Skip to main content

选择什么样的技术实现架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:58:07

我们前面已经学习和了解了基本的架构样式,以及应用设计的基本原则,作为架构师需要一些基本的准则来选择合适的技术完成架构设计,针对于基于Azure的应用,主要选择如下几种资源: 计算资源的选择 数据存储的资源选择 选择负载均衡服务 选择消息服务 计算资源的选择 计算资源是指Azure提供的各种应用计算的单位,设计上需要考虑的数据和计算的分离,容易部署和升级等。下图给出如何快速的对计算资源的选择:

Read more

Azure应用程序设计基本原则纲要

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:54:13

对于基于Azure的应用程序主要目的是达到: 可伸缩性 自动恢复能力 易于管理 要达到这些目的需要遵行一定的设计原则,具体的原则如下概述: 应用设计要考虑应用的自我恢复能力: 要使得应用程序能够拥有自我恢复能力需要从如下三个方面入手: 要对应用可能出现的故障进行检测。 要理性看待应用发生的故障 要记录,监视应用中发生的故障,并采取一定的措施。 在应用设计中考虑冗余,不要形成单点故障。 最大程度的解耦应用的各个组件,尽量使得单个组件都具有缩放的能力。 保证应用设计中的各个部件能够方便的进行水平缩放。 考虑应用系统中纵向扩展的限制,考虑应用,数据分区,分片。 要重视运营角色或者团队的设计,这包括: 部署

Read more

了解大计算架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:51:57

大计算应用程序的一些典型特征: 工作可拆分为离散的任务,这些任务可以跨多个核心同时运行。 各任务都是有限的。 接收一些输入,执行某些处理操作,然后生成输出。 整个应用程序的运行时间(从数分钟到数天)有限。 常见模式是突然预配大量核心,在应用程序完成后,核心数量减少到零。 应用程序不需要全天候运行。 但是,系统必须处理节点故障或应用程序故障。 对于某些应用程序,任务是独立的且可并行运行。 在其他情况下,任务紧密耦合,这意味着它们必须交互或交换中间结果。 在该情况下,请考虑使用 InfiniBand 和远程直接内存访问 (RDMA) 等高速联网技术。 可以根据工作负载,使用不同大小的计算密集型 VM(H16r、H16mr 和 A9)。

Read more

了解大数据架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:47:05

大数据解决方案通常涉及一个或多个以下类型的工作单元: 静态大数据源的批处理。 移动中的大数据的实时处理。 大数据的交互式浏览。 预测分析和机器学习。 大多数大数据架构都包括下列组件中的一些或全部: 数据源:所有大数据解决方案都以一个或多个数据源开始。 示例包括: 应用程序数据存储,例如关系数据库。 应用程序生成的静态文件,例如 Web 服务器日志文件。 实时数据源,例如 IoT 设备。 数据存储:用于批处理操作的数据通常存储在分布式文件存储中,该存储可以容纳大量各种格式的大型文件。 这类存储通常称为 Data Lake。 用于实现此存储的选项包括 Azure Data Lake Store 和 Azure 存储中的 blob 容器。

Read more

了解事件驱动的架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:44:29

对于事件驱动的架构,很多用户第一时间就会想起消息队列的使用,目前市面上的所有的消息队列的产品确实是可以应用于事件的架构,但是基于事件的架构并非是完全基于消息队列的驱动,大型分布式系统确实会比较依赖消息队列,小型系统则未必。 事件驱动架构中主要的两类角色包括事件的生产者以及事件的消费者,结构图如下所示: 事件的最大特性就是实时,因此生产者可以立即送出事件产生的消息,订阅该事件的应用也会根据事件迅速的做出反馈,同时订阅者之间也是相互解耦,不存在依赖关系,而且每个订阅者都能看到该事件的发生,并且仅仅对每个事件仅仅处理一次。 同时需要注意的是事件架构中,可以有两种模式,一种是发布/订阅模式,另外一种是事件流模式。发布/订阅模式容易理解,事件流模式需要注意的是产生的事件流会写入日志,

Read more

了解微服务架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:40:15

什么是微服务? 官方的定义就是微服务是一系列小的,自包含的服务构成的应用系统。实际远远不止这些,微服务虽然在解耦了服务之间的依赖关系,不再将更复杂的业务全部包含在某一个API中,但是这并不代表降低了业务的复杂性,恰恰相反,正是因为有了特别复杂的业务需求,我们才尝试使用类似于微服务这样的架构来解决我们的问题,一个非常有意思的问题是,同一个复杂的业务在很多时候看起来使用微服务架构反而是更复杂了,例如以前简单N层架构,如果一个业务有几个事务必须保证完成,使用N层架构,一个API中全部完成,可能就是慢一点,但是如果使用微服务,还得考虑分布式事务,或者事务补偿机制,总之还得拆分业务需求,看起来也不是那么美好。那么微服务到底适用于什么场景呢? 第一当然是很大的应用系统,第二是很大的机构或者团队,最

Read more

了解Web-Queue-辅助角色体系结构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:36:38

分类: Azure架构师入门 ◆ 标签: #Cloud #Azure #Azure Developer #Azure Tutorial ◆ 发布于: 2021-09-09 目前这个结构也是小型应用或者是小型企业应用在Azure云计算上常用的架构之一,相比较N层结构,反而该结构更多的小型应用首选或者更小型的企业会选用,因为很多大型企业在N层应用上已经深耕多年,他们有丰富的基础维护经验,他们直接将原有的IT团队从维护实体硬件转为维护云资源,逐步消减IT维护人员,慢慢过渡。但是采用web-queue-辅助角色这样的体系架构,该结构先天性选择Azure PaaS服务和组件,已经无需太多的IT人员参与,对于大型企业迁移应用和系统至云是不利的,因此该架构的选择不是很多传统企业的首选,反而对于一些初

Read more

了解N层应用程序架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:31:51

N层应用程序在这里理解为多个层次,前面我们简要的描述过在N层架构的应用中使用子网来划分依赖关系,在垂直的关系上我们我们可以将N层架构分为两层,物理层和逻辑层,这种应用架构基本是以Azure IaaS组件来划分应用的逻辑上的各层,例如使用Azure Virtail Network来规划物理虚拟机,使用Azure VM来运行和配置应用等等,各层之间存在调用关系,一般来讲是上层调用下层,但是下层不能调用上层。大致的关系图,可以使用下图来表示: 层在本架构中是非常重要的概念,我们这里用层来分离应用的职责以及管理依赖关系,每个层都在不同的计算机上运行,虽然每个层可能都运行在不同的机器上,但是也不是必须的,不同的层也可以运行在同一个计算机上,在物理机器上分层有利于提高整个应用的水平缩放能力和灾后恢

Read more

如何选择合适的架构

分类:  Azure云架构师入门 标签:  #Azure #基础 #Azure Cloud Architecting 发布于: 2023-06-05 11:27:33

对于大型系统的设计,架构师这个角色必不可少,架构师除了要对系统有足够深入的了解,同时也需要对业务有深入的了解,架构师的职责之一就是要根据业务的需求,选择合适该业务场景的应用架构,保证应用架构的可扩展性以及可维护性,以及可实施性。一个应用系统实施的好坏和架构师有着非常紧密的关系。 那么架构师在选择应用架构时首先需要了解目前成熟的架构有哪些,并且要熟知各种架构的优点,缺点,限制。 目前流行且得到过验证的架构有如下几种: N层架构:N层架构非常适合传统企业向现代云架构转换的迁移架构。优缺点都非常明显,更新发布慢。 Web-消息队列-辅助计算: 这个架构非常适合小型的企业以及应用,主要的技术点时使用消息队列解耦前端和计算,优缺点也非常明显。 微服务架构:今年对于大型的应用采用较

Read more