Amazon云计算AWS(三)

2024-06-01 14:28
文章标签 计算 aws amazon

本文主要是介绍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方式进行访问,这又进一步提高了安全性。

在这里插入图片描述

这篇关于Amazon云计算AWS(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja

OpenStack离线Train版安装系列—2计算节点-环境准备

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版