当前位置: 首页 > news >正文

Amazon云计算AWS(三)

目录

    • 五、关系数据库服务RDS
      • (一)RDS的基本原理
      • (二)RDS的使用
    • 六、简单队列服务SQS
      • (一)SQS的基本模型
      • (二)SQS的消息
    • 七、内容推送服务CloudFront
      • (一)CDN
      • (二)CloudFront


五、关系数据库服务RDS

(一)RDS的基本原理

  Amazon RDS将MySQL数据库移植到集群中,在一定的范围内解决了关系数据库的可扩展性问题。

  MySQL集群方式采用了Share-Nothing架构。每台数据库服务器都是完全独立的计算机系统,通过网络相连,不共享任何资源。这是一个具有较高可扩展性的架构,当数据库处理能力不足时,可以通过增加服务器数量来提高处理能力,同时多个服务器也增加了数据库并发访问的能力。

在这里插入图片描述
在这里插入图片描述
  表单主要根据业务的需要进行针对性的划分,对数据库的管理人员提出了非常高的要求,如果划分得不科学,则查询经常会跨表单和服务器,性能就会严重下降。

  集群MySQL通过主从备份和读副本技术提高可靠性和数据处理能力。

在这里插入图片描述

(二)RDS的使用

  从用户和开发者的角度来看,RDS和一个远程MySQL关系数据库没什么两样。Amazon将RDS中的MySQL服务器实例称做DB Instance,通过基于Web的API进行创建和管理,其余的操作可以通过标准的MySQL通信协议完成。创建DB Instance时还需要定义可用的存储,存储范围为5GB到1024GB,RDS数据库中表最大可以达到1TB。

  可以通过两种工具对RDS进行操作:命令行工具和兼容的MySQL客户端程序。命令行工具是Amazon提供的Javamazon网站下载。MySQL客户端是可以与MySQL服务器进行通信的应用程序。

六、简单队列服务SQS

在这里插入图片描述

(一)SQS的基本模型

  SQS三个组成部分:系统组件(Component),队列(Queue),消息(Message)。

在这里插入图片描述
(1)系统组件Component

  系统组件是SQS的服务对象,而SQS则是组件之间沟通的桥梁。既可以是消息的发送者,也可以是消息的接收者。

(2)队列Queue

  队列是存放消息的容器,类似于S3中的桶。队列的数目是任意的,创建队列时用户必须给其指定一个在SQS账户内唯一的名称。队列在传递消息时会尽可能 “先进先出”。

(3)消息Message

  消息是发送者创建的具有一定格式的文本数据,接收对象可以是一个或多个组件。消息的大小是有限制的,但是消息的数量并未做限制。在SQS中,消息和队列是最重要的两个概念。不过SQS允许用户在消息中添加有关的序列数据,对于数据发送顺序要求比较高的用户可以在发送消息之前向其中加入相关信息。

(二)SQS的消息

1、消息的格式

(1)消息ID(Message ID):由系统返回给用户,用来标识队列中的不同消息。

(2)接收句柄(Receipt Handle):当从队列中接收消息时就会从消息那里得到一个接收句柄,这个句柄可以用来对消息进行删除等操作。

(3)消息体(Body):消息的正文部分,需要注意的是消息存放的是文本数据并且不能是URL编码方式。

(4)消息体MD5摘要(MD5 of Body):消息体字符串的MD5校验和。

2、消息取样

  队列中的消息是被冗余存储的,同一个消息会存放在系统的多个服务器上。其目的是为了保证系统的高可用性,但这会给用户查询队列中的消息带来麻烦。为了解决该问题,SQS采用了基于加权随机分布(Weighted Random Distribution)的消息取样。当用户发出查询队列中消息的命令后,系统在所有的服务器上使用基于加权随机分布算法随机地选出部分服务器,然后返回这些服务器上保存的所查询的队列消息副本。

  当消息数量较少时,SQS进行消息取样时可能会出现返回结果不准确的现象。但由于消息采样具有随机性,只要用户一直查询下去,总会查询到所有的消息。

在这里插入图片描述
3、消息的可见性超时值及生命周期

  可见性表明该消息可以被所有的组件查看,可见性超时值相当于一个计时器,在设定好的时间内,发给用户的消息对于其他所有的组件是不可见的。扩展操作就是将计时器按照新设定的值重新计时,终止就是将当前的计时过程终止,直接将消息由不可见变为可见。

在这里插入图片描述

七、内容推送服务CloudFront

在这里插入图片描述

(一)CDN

在这里插入图片描述
  传统的网络服务模式中,用户和内容提供商位于服务的两端,网络服务提供商将两者联系起来。在这种情况下,网络服务提供商仅仅起“桥梁”作用。

  用户在发出服务请求后,需要经过DNS服务器进行域名解析后得到所访问网站的真实IP,然后利用该IP访问网站。在这种模式中,世界各地的访问者都必须直接和网站服务器连接才可以访问相关内容,存在明显的缺陷。

  • 首先,网站服务器可以容纳的访问量是有限的。
  • 其次,这种模式中没有考虑访问者的地域问题。
  • 最后,使用不同网络服务提供商服务的用户之间的互访速度也会受到限制。

  解决办法:CDN技术通过将网站内容发布到靠近用户的边缘节点,使不同地域的用户在访问相同网页时可以就近获取。

  DNS在对域名进行解析时不再向用户返回网站服务器的IP,而是返回了由智能CDN负载均衡系统选定的某个边缘节点的IP。

在这里插入图片描述
  这种访问模式的好处主要有以下几点:

  • (1)将网站的服务流量以比较均匀的方式分散到边缘节点中,减轻了网站源服务器的负担。
  • (2)由于边缘节点与访问者的地理位置较近,访问速度快。
  • (3)智能DNS负载均衡系统和各个边缘节点之间始终保持着通信联系,可以确保分配给用户的边缘节点始终可用且在允许的流量范围之内。

  CDN的实现需要多种网络技术的支持,主要包括以下几种:

  • (1)负载均衡技术:将网站的服务流量以比较均匀的方式分散到边缘节点中,减轻了网站源服务器的负担。
  • (2)分布式存储:由于边缘节点与访问者的地理位置较近,访问速度快。
  • (3)缓存技术:智能DNS负载均衡系统和各个边缘节点之间始终保持着通信联系,可以确保分配给用户的边缘节点始终可用且在允许的流量范围之内。

(二)CloudFront

  CloudFront正是通过Amazon设在全球的边缘节点来实现CDN的,但是较普通的CDN而言,它的优势无疑是巨大的。首先,CloudFront的收费方式和Amazon的其他云计算收费方式一样是按用户实际使用的服务来收费,这尤其适合那些资金缺乏的中小企业。其次,CloudFront的使用非常简单,只要配合S3再加上几个简单的设置就可以完成CDN的部署。

  1. 对象(Object):利用CloudFront进行分发的任意一个文件
  2. 源服务器(Origin Server):存储需要分发文件的位置
  3. 分发(Distribution):作用是在CloudFront服务和源服务器之间建立一条通道
  4. 别名指向(CNAME):系统分配给用户域名的一个别名
  5. 边缘节点位置(Edge Location):实际的边缘节点服务器位置
  6. 有效期(Expiration):文件副本在边缘节点上的存放时间

  CloudFront在此处就相当于CDN中的智能DNS负载均衡系统,用户实际是和CloudFront进行服务交互而不是直接和S3中的原始文件进行交互。

  CloudFront与其他一些AWS不同的是,它只接受安全的HTTPS方式而不接受HTTP方式进行访问,这又进一步提高了安全性。

在这里插入图片描述

相关文章:

  • Java 基础面试300题 (201-230)
  • 2010-2015 年阿拉斯加北坡苔原植物功能类型连续覆盖图
  • Linux 字体管理
  • 07.与jenkins集成实现cicd
  • 数据中台设计方案(原版word获取)
  • Mongodb安装和简单操作
  • ChatGPT-4o 有何特别之处?
  • 计算机网络工程师需要掌握的知识点
  • 2023 N1CTF Junior pwn 顶级签到
  • 如何从0到设计一个CRM系统
  • Docker - Kafka
  • WEB攻防-JAVAWEB项目常见漏洞
  • Python与Android连接:深入探索与实现
  • (1)svelte 教程:hello world
  • TCP的重传机制
  • 《剑指offer》分解让复杂问题更简单
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • CSS魔法堂:Absolute Positioning就这个样
  • interface和setter,getter
  • JS字符串转数字方法总结
  • k8s如何管理Pod
  • Mysql5.6主从复制
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue 配置sass、scss全局变量
  • 飞驰在Mesos的涡轮引擎上
  • 简单数学运算程序(不定期更新)
  • 力扣(LeetCode)56
  • 目录与文件属性:编写ls
  • 前端自动化解决方案
  • 深度解析利用ES6进行Promise封装总结
  • 算法---两个栈实现一个队列
  • 学习ES6 变量的解构赋值
  • 阿里云API、SDK和CLI应用实践方案
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​queue --- 一个同步的队列类​
  • ​ssh免密码登录设置及问题总结
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (第61天)多租户架构(CDB/PDB)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一) springboot详细介绍
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)linux下的时间函数使用
  • (转)用.Net的File控件上传文件的解决方案
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET BackgroundWorker
  • .net core 6 redis操作类
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 材料检测系统崩溃分析