Amazon云计算AWS(一)

news2025/1/17 23:25:40

目录

    • 一、基础存储架构Dynamo
      • (一)Dynamo概况
      • (二)Dynamo架构的主要技术
    • 二、弹性计算云EC2
      • (一)EC2的基本架构
      • (二)EC2的关键技术
      • (三)EC2的安全及容错机制



在这里插入图片描述
提供的服务主要包括:

  • 弹性计算云EC2
  • 简单存储服务S3
  • 简单数据库服务Simple DB
  • 简单队列服务SQS
  • 弹性MapReduce服务
  • 内容推送服务CloudFront
  • 电子商务服务DevPay
  • FPS

一、基础存储架构Dynamo

(一)Dynamo概况

在这里插入图片描述

面向服务的Amazon平台基本架构

为了保证其稳定性,Amazon的系统采用完全的分布式、去中心化的架构。

  • 作为底层存储架构的Dynamo也同样采用了无中心的模式
  • Dynamo只支持简单的键/值(key/value)方式的数据存储,不支持复杂的查询
  • Dynamo中存储的是数据值的原始形式,即按位存储,并不解析数据的具体内容

(二)Dynamo架构的主要技术

  Dynamo在设计时被定位为一个基于分布式存储架构的,高可靠、高可用且具有良好容错性的系统。下表列举了Dynamo设计时面临的主要问题及所采取的解决方案。

Dynamo需要解决的主要问题及解决方案
问题采取的相关技术
数据均衡分布改进的一致性哈希算法
数据备份参数可调的弱quorum机制
数据冲突处理向量时钟(Vector Clock)
成员资格及错误检测基于Gossip协议的成员资格和错误检测
临时故障处理Hinted handoff(数据回传机制)
永久故障处理Merkle哈希树

  Dynamo中的存储节点呈无中心的环状分布。包含两个基本概念:preference list 是存储与某个特定键值相对应的数据的节点列表;coordinator 是执行一次读或写操作的节点。通常,coordinator 是 preference list 上的第一个节点。

在这里插入图片描述
1、数据均衡分布的问题

  Dynamo采用了分布式的数据存储架构,均衡的数据分布可以保证负载平衡和系统良好的扩展性。因此,如何在各个节点上数据的均衡性是影响Dynamo性能的关键问题。Dynamo中使用改进后的一致性哈希算法,并在此基础上进行数据备份,以提高系统的可用性。

在这里插入图片描述
(1)一致性哈希算法

  一致性哈希算法是目前主流的分布式哈希表(Distributed Hash Table,DHT)协议之一,于1997年由麻省理工学院提出。一致性哈希算法通过修正简单哈希算法,解决了网络中的热点问题,使得DHT可以真正地应用于P2P环境中。

在这里插入图片描述
  一致性哈希算法除了能够保证哈希运算结果充分分散到整个环上外,还能保证在添加或删除设备节点时只会影响到其在哈希环中的前驱设备节点,而不会对其他设备节点产生影响。

在这里插入图片描述
  一致性哈希算法可以大大降低在添加或删除节点时引起的节点间的数据传输开销。

(2)改进的一致性哈希算法

  Dynamo中引入了虚拟节点的概念。每个虚拟节点都隶属于某一个实际的物理节点,一个物理节点根据其性能的差异被分为一个或多个虚拟节点。各个虚拟节点的能力基本相当,并随机分布在哈希环上。

在这里插入图片描述
  Dynamo将整个哈希环划分成Q等份,每个等份称为一个数据分区(Partition)。在存储数据时,每个数据会被先分配到某个数据分区,再根据负责该数据分区的虚拟节点,最终确定其所存储的物理节点。

数据分区的好处:

  • 减小数据分布不均衡的可能性
  • 添加或删除设备节点时引起较小的数据传输

在这里插入图片描述
2、数据备份

  在Dynamo中,每个数据的副本备份存储在哈希环顺时针方向上该数据所在虚拟节点的后继节点中。数据备份在存储数据的同时进行,会使每次写操作的延时变长。

  Dynamo中对写操作进行了优化,保证一个副本必须写入硬盘,其他副本只要写入节点的内存即返回写成功。每个虚拟节点上实际存储了分配给它以及分配它的前N-1个前驱虚拟节点的数据。

3、数据冲突问题

在这里插入图片描述
  Dynamo选择通过牺牲一致性来保证系统的可靠性和可用性,没有采用强一致性模型而采用了最终一致性模型。由于Dynamo中可能出现同一个数据被多个节点同时更新的情况,且无法保证数据副本的更新顺序,这有可能会导致数据冲突。

在这里插入图片描述
  Dynamo中采用了向量时钟技术(Vector Clock),Dynamo中的向量时钟通过 [node, counter] 对 来表示。node表示操作节点;counter是其对应的计数器,初始值为0,节点每进行一次更新操作则计数器加1。

4、成员资格及错误检测

  由于Dynamo采用了无中心的架构,每个成员节点都需要保存其他节点的路由信息。为了保证每个节点都能拥有最新的成员节点信息,Dynamo中采用了一种类似于Gossip(闲聊)协议的技术。

在这里插入图片描述
  Dynamo中还通过Gossip来实现错误检测任何节点向其他节点发起通信后,如果对方没有回应,则认为对方节点失效。

  为了避免新加入的节点之间不能及时发现其他节点的存在,Dynamo中设置了一些种子节点(Seed Node)。种子节点和所有的节点都有联系。当新节点加入时,它扮演一个中介的角色,使新加入节点之间互相感知。

在这里插入图片描述

  • 自底向上每一层代表一次随机通信
  • 第一层节点1将信息交换给节点2
  • 第二层节点1和2同时开始随机选择其他节点交换信息
  • 直到N个节点全部传遍

在这里插入图片描述
结论:Dynamo中的节点数不能太多;Amazon采用了分层Dynamo结构来解决该问题。

5、容错机制

(1)临时故障处理机制

  为了处理临时失效的节点,Dynamo中采用了一种带有监听的数据回传机制(Hinted Handoff)。当虚拟节点A失效后,会将数据临时存放在节点D的临时空间中,并在节点A重新可用后,由节点D将数据回传给节点A。

在这里插入图片描述
(2)永久性故障处理机制

  Dynamo采用Merkle哈希树技术来加快检测和减少数据传输量。

在这里插入图片描述

二、弹性计算云EC2

(一)EC2的基本架构

  主要包括了Amazon机器映象、实例、存储模块等组成部分,并能与S3等其他Amazon云计算服务结合使用。

在这里插入图片描述
1、Amazon机器映象(AMI)

  Amazon机器映像(Amazon Machine Image,AMI)是包含了操作系统、服务器程序、应用程序等软件配置的模板。当用户使用EC2服务去创建自己的应用程序时,首先需要构建或获取相应的AMI。

在这里插入图片描述
  构建好的AMI分为Amaznon EBS支持和实例存储支持两类。

2、实例(Instance)

  EC2中实例由AMI启动,可以像传统的主机一样提供服务。同一个AMI可以用于创建具有不同计算和存储能力的实例。Amazon提供了多种不同类型的实例,分别在计算、GPU、内存、存储、网络、费用等方面进行了优化。Amazon还允许用户在应用程序的需求发生变更时,对实例的类型进行调整,从而实现按需付费。

  Amazon EC2还为实例提供了许多附加功能,帮助用户更好地部署和管理应用程序。

3、弹性块存储(EBS)

  EBS存储卷的设计与物理硬盘相似,其大小由用户设定,目前提供的容量从1GB到1TB不等。

在这里插入图片描述
  EBS存储卷适用于数据需要细粒度地频繁访问并持久保存的情形,适合作为文件系统或数据库的主存储。快照功能是EBS的特色功能之一,用于在S3中存储Amazon EBS卷的时间点副本。

(二)EC2的关键技术

1、地理区域和可用区域


  EC2系统中包含多个地理区域,而每个地理区域中又包含多个可用区域。为了确保系统的稳定性,用户最好将自己的多个实例分布在不同的可用区域和地理区域中。

在这里插入图片描述
2、EC2的通信机制

在这里插入图片描述
  EC2的实例一旦被创建就会动态地分配公共IP地址和私有IP地址。私有IP地址由动态主机配置协议(DHCP)分配产生。

3、弹性负载平衡

在这里插入图片描述
  弹性负载平衡功能允许EC2实例自动分发应用流量,从而保证工作负载不会超过现有能力,并且在一定程度上支持容错。弹性负载平衡功能可以识别出应用实例的状态,当一个应用运行不佳时,它会自动将流量路由到状态较好的实例资源上,直到前者恢复正常才会重新分配流量到其实例上。

4、监控服务

在这里插入图片描述
  用户只需要选择EC2实例,设定监视时间,CloudWatch就可以自动收集和存储检测数据。

5、自动缩放

自动缩放可以按照用户自定义的条件,自动调整EC2的计算能力:

  • 需求高峰期:确保EC2实例的处理能力无缝增大
  • 需求下降时:自动缩小EC2实例规模以降低成本

自动缩放功能特别适合周期性变化的应用程序,它由CloudWatch自动启动。

6、服务管理控制台

  各项技术通过互相配合来实现EC2的可扩展性和可靠性。

在这里插入图片描述

(三)EC2的安全及容错机制

  安全组是一组规则,用户利用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝。当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组。默认组只接受组内成员的消息,拒绝其他消息。当一个组的规则改变后,改变的规则自动适用于组中所有的成员。

  SSH是目前对网络上传输的数据进行加密的一种很可靠的协议,当用户创建一个密钥对时,密钥对的名称(Key Pair Name)和公钥(Public Key)会被存储在EC2中。

在这里插入图片描述
  EC2引入了弹性IP地址的概念。弹性IP地址和用户账号绑定而不是和某个特定的实例绑定;弹性IP地址和用户账号绑定而不是和某个特定的实例绑定;通过弹性IP地址改变映射关系总可以保证有实例可用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1790592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NXP i.MX8系列平台开发讲解 - 3.14 Linux 之Power Supply子系统(二)

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 目录 1. 前言 2. 芯片简介 2. 系统原理设计 2. 设备树相关 本文实操是基于Android11 系统下i.MX8MQ环境下&#x…

DKTCDR:Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation

Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation IEEE(CCF B.SCI 1)-Guoshuai Zhao, Xiaolong Zhang, Hao Tang, Jialie Shen, and Xueming Qian-2024 思路 在CDR中,构建连接两个域的桥梁是实现跨域推荐的基础。然而现在的CDR方法往往在连接两个域时忽…

STM32-- GPIO->EXTI->NVIC中断

一、NVIC简介 什么是 NVIC ? NVIC 即嵌套向量中断控制器,全称 Nested vectored interrupt controller 。它 是内核的器件,所以它的更多描述可以看内核有关的资料。M3/M4/M7 内核都是支持 256 个中断,其中包含了 16 个系统中…

调用smc为什么就能直接切换到ATF?

快速链接: . 👉👉👉Trustzone/TEE/安全 面试100问-目录 👈👈👈 付费专栏-付费课程 【购买须知】:联系方式-加入交流群 ----联系方式-加入交流群 个人博客笔记导读目录(全部) 背景 插播一个小插曲&#…

图片的dpi数值怎么修改?快速在线改图片dpi的操作技巧

在网上报名或者上传个人证件照片时,经常会对图片dpi数值有所要求,需要按照要求将图修改图片dpi到规定数值才可以正常上传,有很多人都对这个问题的感到非常的困扰,那么有什么方法能够快速在线改图片分辨率的dpi数值呢? …

WPF 依赖属性原理、 附加属性

依赖属性如何节约内存 MSDN中给出了下面几种应用依赖属性的场景: 希望可在样式中设置属性。 希望属性支持数据绑定。 希望可使用动态资源引用设置属性。 希望从元素树中的父元素自动继承属性值。 希望属性可进行动画处理。 希望属性系统在属性系统、环境或用户…

Wpf 使用 Prism 开发MyToDo应用程序

MyToDo 是使用 WPF ,并且塔配Prism 框架进行开发的项目。项目中进行了前后端分离设计,客户端所有的数据均通过API接口获取。适合新手入门学习WPF以及Prism 框架使用。 首页统计以及点击导航到相关模块功能待办事项增删改查功能备忘录增删改查功能登录注册…

【Python编程】【Jupyter Notebook】启动时报错:no available port could be found

一、报错描述 在Jupyter Notebook中编写程序,无法运行,提示由于没有可供监听的端口,无法启动Jupyter服务器,如下图所示: 二、原因分析 通过报错信息,猜测大概是由于网络环境的原因。首先,关闭…

智能体应用开发:构建各类垂直领域的ai智能体应用

最近在做个类似的项目,有用到这方面的知识,顺便做一些记录和笔记吧,希望能帮到大家了解智能体应用开发 目录 引言 AI原生应用的兴起 智能体在AI中的角色 实现原理详解 机器学习基础 数据管理与关联数据库 数据结构 Embedding 检索方…

开放式耳机哪个牌子好?2024年度热门机型推荐榜单分享!

随着音乐技术的不断革新,开放式耳机已成为音乐发烧友们的首选。从最初的简单音质,到如今的高清解析,开放式耳机不断进化。音质纯净,佩戴舒适,无论是街头漫步还是家中细细静听,都能带给你身临其境的音乐体验…

电路方案分析(十九)快速响应过流事件检测电路

快速响应过流事件检测电路 1.设计需求2.设计方案3.设计说明4.仿真验证 tips&#xff1a;方案参考来自TI参考设计&#xff0c;仅供学习交流使用。 1.设计需求 2.设计方案 这是一种快速响应单向电流检测解决方案&#xff0c;通常称为过流保护 (OCP)&#xff0c;可提供 < 2μ…

开源模型应用落地-LangSmith试炼-入门初体验-监控和自动化(五)

一、前言 在许多应用程序中&#xff0c;特别是在大型语言模型(LLM)应用程序中&#xff0c;收集用户反馈以了解应用程序在实际场景中的表现是非常重要的。 LangSmith可以轻松地将用户反馈附加到跟踪数据中。通常最好提供一个简单的机制(如赞成和反对按钮)来收集用户对应用程序响…

解决MAC M1 Docker Desktop启动一直在starting

问题描述&#xff1a; 今天使用docker buildx 构建Multi-platform&#xff0c;提示如下错误&#xff1a; ERROR: Multi-platform build is not supported for the docker driver. Switch to a different driver, or turn on the containerd image store, and try again. 于是按…

RTOS笔记--任务状态与调度

任务状态 freertos中的任务分为四个状态&#xff1a;就绪状态&#xff08;ready&#xff09;、运行状态&#xff08;running&#xff09;、阻塞状态&#xff08;blocked&#xff09;、暂停状态&#xff08;suspended&#xff09; 完整的任务状态转换图&#xff1a; 在使用vTas…

短剧市场大爆炸:小米和华为的亿万争夺战,谁能笑到最后?

在数字化媒体的浪潮中&#xff0c;内容消费模式正经历着翻天覆地的变化。短视频的兴起引领了一种全新的娱乐方式&#xff0c;而短剧作为其衍生形式&#xff0c;正逐渐成为各大科技巨头争夺的新战场。 小米和华为&#xff0c;作为中国科技界的两大巨头&#xff0c;也在这一新兴…

Android Studio的Gradle面板里不显示task,build ,assemble 无法出aar包

按照以下方式把对应开关打开就可以正常进行build/assemble进行aar的生成了

回归预测 | MATLAB实现基于GOOSE-LightGBM的多特征输入单输出数据回归预测(鹅优化算法)

回归预测 | MATLAB实现基于GOOSE-LightGBM的多特征输入单输出数据回归预测(鹅优化算法) 目录 回归预测 | MATLAB实现基于GOOSE-LightGBM的多特征输入单输出数据回归预测(鹅优化算法)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现基于LightGBM算法的数据回归预…

配置Kubernetes资源管理Secret与ConfigMap

前言 Kubernetes 中的 Secret&#xff08;提供加密模式&#xff09;和 ConfigMap&#xff08;提供配置&#xff09;是关键的资源&#xff0c;用于安全地存储和管理敏感信息和配置数据。它们在应用程序开发和部署过程中扮演着重要的角色。本文将介绍如何有效地配置和管理这些资…

YOLOv8改进有效涨点专栏目录——包含backbone、head、neck和损失函数上百余种改进技巧

专栏地址&#xff1a;YOLOv8改进有效涨点——持续更新中 backbone——主干 YOLOv8改进 | 主干网络 | 将主干网络替换为轻量化的ShuffleNetv2【原理 完整代码】 YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】 YOLOv8改进 | 主干网络 | 在…

基于JS实现《国家基本比例尺地形图分幅和编号》标准

1、标准 GB T 13989-2012国家基本比例尺地形图分幅和编号 地址&#xff1a;【高清版】GB T 13989-2012国家基本比例尺地形图分幅和编号 - 道客巴巴 2、1:100万比例尺 2.1 说明 2.2 计算公式 2.3 计算代码 2.3.1 元素数据定义 由于中国只到N层&#xff0c;所以只定义到O. …