Amazon云计算AWS(四)
目录
- 八、其他Amazon云计算服务
- (一)快速应用部署Elastic Beanstalk和服务模板CloudFormation
- (二)DNS服务Router 53
- (三)虚拟私有云VPC
- (四)简单通知服务和简单邮件服务
- (五)弹性MapReduce服务
- (六)电子商务服务DevPay、FPS和Simple Pay
- (七)Amazon执行网络服务
- (八)土耳其机器人
- (九)数据仓库服务Redshift
- (十)应用流服务AppStream和数据流分析服务Kinesis
- 九、AWS应用实例
- (一)照片和视频共享网站SmugMug
- (二)视频制作网站Animoto
- (三)网站排名Alexa
八、其他Amazon云计算服务
(一)快速应用部署Elastic Beanstalk和服务模板CloudFormation
Amazon提供的两种服务:快速应用部署Elastic Beanstalk、服务模板CloudFormation。
AWS Elastic Beanstalk是一种简化在AWS上部署和管理应用程序的服务,系统会自动进行需求分配、负载均衡、自动缩放、监督检测等一些具体部署细节。目前AWS Elastic Beanstalk仅针对Java开发者提供支持。
Elastic Beanstalk虚拟机是一种运行Apache Web Server、Tomcat 和 the Enterprise Edition of the Java platform的AMI虚拟机,具有以下特点。
(1)Elastic Beanstalk构筑于AWS之上,因此它具有Amazon EC2、负载均衡、云监控、自动缩放等全部的特性。
(2)用户可以采用多种方式对其程序进行控制和参数设置,也可以通过登录EC2实例来处理程序出现的问题,或者采用Elastic Beanstalk AMI提供的默认处理方式。
(3)Elastic Beanstalk为每个应用运行多个EC2实例,提高程序的可靠性。
(4)利用Elastic Beanstalk部署的用户程序可以调用部署在其他EC2实例上的程序,并能保证时延。
(二)DNS服务Router 53
- 问题:传统的DNS服务器都面临着域名对应的IP地址变更后可能传播得非常缓慢的问题。
- 解决方法:Amazon提供了云中的DNS服务Router53,用来管理DNS、处理DNS请求。
- 原理:该服务运行在Amazon的云中,,可以通过RESTAPI进行访问,这个API允许用户创建管理区(Zone),并在区中保存DNS记录。
- 特色:创建管理区的时候,Router 53同时分配多个域名服务器来处理域名的请求,把DNS请求路由到最近的服务器。
(三)虚拟私有云VPC
Amazon虚拟私有云(VPC)是一个安全的、可靠的、可以无缝连接企业现有的基础设施和Amazon云平台的技术。VPC将企业现有网络和AWS计算资源连接成一个虚拟专用网络资源,提供强大的网络功能。通过Amazon VPC,企业可以很容易地获得需要的基础资源,有效地控制成本、节省时间和管理成本。
(四)简单通知服务和简单邮件服务
简单通知服务(SNS) 是一种Web服务,提供方便的信息发布平台,具有高的可扩展性和成本优势。应用程序可以通过SNS发布消息;用户可以直接通过SNS来创建的高可靠性、事件驱动的工作流程和信息应用。SNS的潜在用途包括监控应用、工作流系统、事件敏感的信息更新、移动应用。
Amazon简单邮件服务(Simple E-mail Service,SES) 是一个简单的高扩展性和具有成本优势的电子邮件发送服务。通过简单的API调用,企业就可以获得高品质电子邮件系统,将高效率、低成本的优势转移到用户身上。同时SES采用了内容过滤技术,有力地阻止垃圾邮件。
(五)弹性MapReduce服务
Amazon的弹性MapReduce是通过EC2和S3来实现的,其基本架构如图所示。
弹性MapReduce的运行过程非常简单,用户根本不需要考虑计算中涉及的服务器部署、维护及软件环境的配置。Amazon允许用户在上传数据前对数据进行加密并通过安全的HTTPS协议上传数据。弹性MapReduce中的实例被划分成两个安全组:一个是主节点安全组,另一个是从节点安全组。任务流实际上是由一系列前后相关的处理过程组成的,可以与线性链表的结构类比,除了第一个节点和最后一个节点,每个节点既是前一个节点的后继也是后一个节点的前驱。
(六)电子商务服务DevPay、FPS和Simple Pay
Amazon在其最擅长的电子商务领域先后推出了一系列服务:DevPay、灵活支付服务、简单支付服务。
1、DevPay
DevPay是Amazon推出的主要针对开发者的软件销售及账户管理平台。开发者将自己开发的付费AMI和基于S3的相关产品通过DevPay平台进行发布,用户则通过DevPay浏览包括软件功能和价格在内的相关信息,并通过DevPay进行购买并支付费用。开发者通过DevPay提供的账户管理功能对自己的账户及产品进行管理,可以进行诸如查看使用产品的用户情况、修改产品价格等操作。Amazon Payments属于第三方支付平台,DevPay中的所有的交易都通过Payments完成。
用户利用开发者开发的软件方便地使用包括EC2、S3在内的Amazon云计算服务。开发者在Amazon的巨大用户群体中推广自己的产品,降低开发难度,保证资金安全。
在DevPay服务中,计费包括两部分:开发者向用户收取的费用和DevPay向开发者收取的费用。
2、灵活支付服务FPS
FPS允许用户根据需要和实际情况对支付服务进行各种个性化的设置,使其和用户的电子商务平台更加契合。
FPS服务类型 | 适合的交易类型 |
---|---|
Amazon FPS Basic Quick Start | 一次性的交易 |
Amazon FPS Advanced Quick Start | 买卖双方多次或重复交易 |
Amazon FPS Marketplace Quick Start | 有中介参与的三方交易 |
Amazon FPS Aggregated Payments Quick Start | 将数个小额交易集合成单个交易 |
Amazon FPS Account Management Quick Start | 账户管理 |
FPS服务中有三种身份的参与者:
- sender:消费者,是相关产品或服务费用的支付者
- recipient:销售者,它接受消费者支付的费用
- caller:资金流动的中介者角色,它的作用是将资金从sender转移到recipient
顾客在使用了FPS服务的网站上购买产品或服务的基本流程如图:
Payment Token有以下几种:
(1)Single-use:一次性交易中所需的Token。
(2)Recurring-use:每隔固定的间隔时间就对购买进行确认所需的Token。
(3)Multi-use:可以在多次交易中使用的Token。
(4)Prepaid:使用预付款方式进行交易中所需的Token。
(5)Postpaid:使用赊账方式进行交易所需的Token。
(6)Editing:对已存在的Token修改时所需。
不同类型的FPS服务中会返回不同的Payment Token,这就是几种FPS服务的最主要区别。
在收到Payment Token后,商品网页会向FPS服务发出支付请求,成功之后顾客的付款就转移到销售者的账户上。
FPS还向开发者提供了一个沙盒(Sandbox)用来做测试,在正式使用FPS之前利用沙盒进行测试是非常有必要的,而且不会产生任何费用。
3、Simple Pay
简单支付服务(Simple Pay)是一种允许顾客使用其Amazon账户进行支付的服务,目前简单支付服务有五种常用的支付按钮,按钮类型及其功能见表。
按 钮 类 型 | 功 能 |
---|---|
Standard Button | 普通的一次性购物 |
Marketplace Button | 作为交易的中介者 |
Basic Donation Button | 允许在美国的通过美国国税局认证的非营利性机构募集捐款 |
Marketplace-Enabled Donation Button | 允许第三方机构代表非营利性组织来募集捐款 |
Subscription Button | 通过该按钮可以收取类似订阅费的重复性费用,还可以利用该按钮对用户提供免费试用服务或进行产品介绍 |
简单支付服务的功能和FPS服务类似,但和FPS相比,它的最大优势就是简单。FPS服务允许开发者自行定制其支付页面,可以实现各种复杂的支付方式,但高度的灵活性带来的必然是实现上的复杂性。FPS服务需要用户具有一定的编程经验,而简单支付服务对用户的编程技术几乎没有什么要求,简单支付服务流程如图所示:
总的来讲,对于支付服务有着较高要求的用户可以选择FPS,但只是简单地完成一些日常支付服务的则推荐使用简单支付服务。
(七)Amazon执行网络服务
Amazon执行网络(Fulfillment Web Service,FWS)是一个非常有用的代理订单执行网络服务,简单来说它的作用就是产品存储及销售业务的托管,也可直接理解为Amazon替用户销售产品。
(八)土耳其机器人
Amazon的土耳其机器人是一个特殊的服务,采用了众包的思想。和EC2等服务聚集大量的计算机不同的是,土耳其机器人聚集的是人这种特殊的“计算工具”,所以将土耳其机器人称为“人计算”似乎更为恰当。土耳其机器人中涉及的概念如下。
(1)Requester:任务的发布者,可以是个人也可以是某个组织。
(2)HIT:HIT就是Requester发布的任务,HIT有一个时间限制,同时HIT还规定了接受任务者完成任务的时间。
(3)Worker:任务的接受者,对于同一个HIT每个Worker只能完成一次。
(4)Assignment:可以用来监督HIT的完成情况,对于每个Worker都会创建一个Assignment。
(5)Reward:Worker成功完成HIT后需要支付给其的奖励。
(九)数据仓库服务Redshift
Amazon Redshift是一种完全托管的PB级数据仓库服务,费用不到大多数其他数据仓库解决方案成本的十分之一,降低数据仓库的成本。通过简单的API调用进行扩展或缩减,自动进行修补,并自动或根据用户定义进行备份。提供了对大规模数据进行快速分析的功能,可以实现对多个物理资源上数据的分布式并行查询。
与传统的数据仓库和数据库相比,Redshift具有如下特点。Redshift采用了列式数据存储,更加适用于数据仓库存储及分析。在数据仓库中,查询会涉及对大型数据集进行聚合。Redshift采用了多种压缩技术,并对加载的数据自动选择最合适的压缩方案,从而实现更好的压缩效果。Redshift具有大规模并行处理的能力。
(十)应用流服务AppStream和数据流分析服务Kinesis
很多应用程序中需要从分散且数量众多的数据源中收集数据。这要求开发人员实现大规模的汇聚网络进行数据收集,并采用弹性处理框架来适应数据量的变化。为了满足这类需求,Amazon提供了一系列的数据流服务,其中包括应用流服务AppStream和数据流服务Kinesis。
1、应用流服务AppStream
AppStream允许开发人员将应用程序部署在AWS的基础设施上,并以流传输的方式发送到不同的终端设备上。这样,AppStream就在应用程序和设备之间形成了一个代理。
AppStream允许开发人员将应用程序部署在AWS的基础设施上,并以流传输的方式发送到不同的终端设备上。这样,AppStream就在应用程序和设备之间形成了一个代理。此外,AppStream还可以与Amazon WorkSpaces虚拟桌面进行结合,以满足企业用户的需求,甚至在此基础上对数据流进行分析,用于金融、医疗等领域。
2、数据流分析服务Kinesis
Kinesis是一种完全托管的数据流服务,用于实时地处理快速流转的数据。Kinesis可以轻松实时地处理快速流转的数据,其基本功能是数据流的输入与输出。Kinesis允许定义任意数量的数据源,并与任意数量的处理相关联。
九、AWS应用实例
(一)照片和视频共享网站SmugMug
SmugMug作为在线照片和视频共享网站,目前拥有数百万用户并存储了数十亿张照片和视频。SmugMug将少量最热门的部分照片保留在自己的服务器上,剩下的照片迁移到S3服务器中存储,照片迁移过程仅花费了一周的时间。
下图展示了采用Amazon S3服务后的SmugMug基本架构。
虽然SmugMug提供了利用API直接对存储在S3中照片进行访问的方式,超过99%的用户依然采用访问SmugMug的方式处理照片,照片存储的方式对于用户是透明的。
SmugMug已经将所有的数据从传统的数据中心中迁入S3中。SmugMug还采用了EC2进行照片处理,并采用Amazon CloudSearch来支持用户在数十亿照片和视频中搜索。SmugMug构建了自己的队列服务和控制器,它们能与AWS很好地协作,使得系统中大部分操作都能够自动完成。
(二)视频制作网站Animoto
Animoto网站根据用户上传的图片、视频片段和音乐,自动编辑生成专业水准的视频,并且与用户的好友分享。
AWS所提供的S3和SQS等服务对于用户而言是完全透明的,用户的所有操作通过Animoto网站转到AWS中完成。这种方式为Animoto提供了具有很高伸缩性和灵活性的基础设施。如图展示了Animoto的基本架构。
(三)网站排名Alexa
Alexa公司是一家专注于世界网站排名的公司。
Alexa使用了大量的AWS服务,包括EC2、S3、SimpleDB、SQS等来提高服务质量和降低开发管理成本。Alexa使用S3存储缩略图像,并利用SimpleDB对缩略图像进行自动索引和高效查询。
相关文章:

Amazon云计算AWS(四)
目录 八、其他Amazon云计算服务(一)快速应用部署Elastic Beanstalk和服务模板CloudFormation(二)DNS服务Router 53(三)虚拟私有云VPC(四)简单通知服务和简单邮件服务(五&…...

数据库(21)——数值函数
数值函数 函数功能CEIL(x)向上取整FLOOR(x)向下取整MOD(x,y)返回x/y的余数RAND()返回0~1内的随机数ROUND(x,y) 求参数x的四舍五入的值,保留y位小数 演示 select ceil(66.4); select floor(8.9); select mod(3,10); select rand(); select round…...

【PB案例学习笔记】-15怎样限制应用程序运行次数?
写在前面 这是PB案例学习笔记系列文章的第15篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…...

Spring为什么不支持static字段注入
Spring不支持直接依赖注入到静态变量中。在Spring框架中,依赖注入是一个核心概念,它允许开发者将对象间的依赖关系定义转移到容器中,由容器负责管理这些依赖关系。然而,当涉及到静态变量时,情况就变得复杂了。 首先从…...

AI数据分析:用Kimi根据Excel表格数据绘制多条折线图
工作任务:将Excel文件中的学生姓名和他们的语文、数学、英语成绩绘制成三条折线图,以便于比较不同科目的成绩分布情况。 在kimi中输入提示词: 你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下&a…...

高级 Go 程序设计:使用 net/http/httputil 包构建高效网络服务
高级 Go 程序设计:使用 net/http/httputil 包构建高效网络服务 介绍ReverseProxy 的使用基本概念实现步骤高级配置实际案例 DumpRequest 的使用功能说明代码示例应用场景NewSingleHostReverseProxy 的特性功能概述 详细教程 注意事项使用 NewChunkedWriter 实现高效…...

Android11 AudioTrack 创建过程
Android 系统播放声音,需要创建AudioTrack来和AudioFlinger通信,其创建过程如下 根据传入的声音属性得到output通过得到的output,找到播放线程AudioFlinger在播放线程内,创建Track,和AudioTrack对应。后续通过它们进…...

数学建模 —— 层次分析法(2)
目录 一、层次分析法(AHP) 二、构造比较判断矩阵 2.1 两两比较法 三、单准则下的排序及一致检验 3.1 单准则下的排序 3.2 一致性检验 四、层次总排序 4.1 层次总排序的步骤 4.2 总排序一致性检验 一、层次分析法(AHP) 方…...

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:人工智能消防应用
青鸟消防股份有限公司成立于2001年6月,于2019年8月在深圳证券交易所挂牌上市,成为中国消防报警行业首家登陆A股的企业。公司始终聚焦于消防安全与物联网领域,主营业务为“一站式”消防安全系统产品的研发、生产和销售。公司产品已覆盖了火灾报…...

Flutter 中的 KeepAlive 小部件:全面指南
Flutter 中的 KeepAlive 小部件:全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架,它允许开发者使用 Dart 语言构建高性能、美观的移动、Web 和桌面应用。在 Flutter 的丰富组件库中,KeepAlive 是一个用于维护组件活跃状态的组件&…...

C语言 恼人的结合性和优先级和副作用
结合性和优先级和副作用 1.优先级2.结合性3.副作用4.简单区分i,i,i1;ii1;ii 1.优先级 优先级指的是,如果⼀个表达式包含多个运算符,哪个运算符应该优先执⾏。各种运算符的优先级是 不⼀样的。 在C语言中&a…...

Vue——初识组件
文章目录 前言页面的构成何为组件编写组件组件嵌套注册 效果展示 前言 在官方文档中,对组件的知识点做了一个很全面的说明。本篇博客主要写一个自己的案例讲解。 vue 官方文档 组件基础 页面的构成 说到组件之前,先大致说明下vue中页面的构成要素。 在…...

MQ消息丢失/重复/顺序/挤压
rabbitmq消息丢失解决 rocketMq解决消息丢失 RocketMQ事务消息概要 RocketMQ事务消息是指应用本地事务和发送消息操作可以被定义到全局事务中,要么同时成功,要么同时失败。 采用了2PC(两阶段提交) 补偿机制(事务状态回…...

利用Quarkus构建高效微服务——Java的云原生革新
引言: 在微服务架构和容器技术日益成为企业开发标准的今天,Java开发者面临着如何将传统Java应用转型为高效、轻量级且易于扩展的云原生应用的挑战。Quarkus框架的出现,正是为了解决这一问题,它不仅能够提升Java在Kubernetes环境中…...

python 批量ts合并成一个mp4
首先,确保你已经安装了ffmpeg。 然后再次保证所有ts文件放在同一个文件夹中,并且依次命名为 1.ts 、 2.ts 、 3.ts 、 4.ts 、 4.ts 。。。 Python完整代码如下:(ffmpeg_batch_merge_ts.py文件) #!/usr/bin/python3 # -*- coding: UTF-8 -*…...

Java | Leetcode Java题解之第129题求根节点到叶节点数字之和
题目: 题解: class Solution {public int sumNumbers(TreeNode root) {if (root null) {return 0;}int sum 0;Queue<TreeNode> nodeQueue new LinkedList<TreeNode>();Queue<Integer> numQueue new LinkedList<Integer>();…...

SpringBoot【注解 01】@Scheduled实现定时任务的串行和并行执行
在SpringBoot中,如果使用Scheduled注解来定义多个定时任务,默认情况下这些任务将会被安排在一个单线程的调度器中执行。这意味着,这些任务将会串行执行,而不是并行执行。当一个任务正在执行时,其他被触发的任务将会等待…...

【工具】redis的安装使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Redis简介二、Redis的安装使用三、本文总结 前言 提示:这里可以添加本文要记录的大概内容: 随着开发语言及人工智能工具的普及&am…...

汇编:数据定义数据填充
数组的定义 在32位汇编语言中,定义数组时,通常使用定义数据指令(如 DB, DW, DD,DQ )和标签来指定数组的名称和内容。DB定义字节数组(每个元素占1字节)、DW定义字数组(每个元素占2字节ÿ…...

Python画图(多图展示在一个平面)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

python-web应用程序-Django数据库-操作表中的数据
python-web应用程序-Django数据库-操作表中的数据 一、新增数据 类.objects.create(字段名 字段值,字段名 字段值,...)导入models包 models.User.objects.create(nameyulin,sex0,info三好学生)即可对数据进行操作 二、删除数据 类.objects.filter(…...

绕过WAF(Web应用程序防火墙)--介绍、主要功能、部署模式、分类及注入绕过方式等
网站WAF是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理、网页防篡改功能等模块。能够为用户提供实时的网站安全防护&…...

11.7 堆排序
目录 11.7 堆排序 11.7.1 算法流程 11.7.2 算法特性 11.7 堆排序 Tip 阅读本节前,请确保已学完“堆“章节。 堆排序(heap sort)是一种基于堆数据结构实现的高效排序算法。我们可以利用已经学过的“建堆操作”和“元素出堆操作”…...

Patchwork++:基于点云的快速、稳健的地面分割方法
1. 背景 论文发表在2022IROS,是Patchwork的改进版本。算法通过数学方法进行快速而鲁棒性很强的地面分割,在智能机器人上的可操作性非常强。通过微调算法,可以应用于16-beams等多种规格的激光雷达。由于激光雷达点云数据标注的难度非常大&…...

Llama改进之——分组查询注意力
引言 今天介绍LLAMA2模型引入的关于注意力的改进——分组查询注意力(Grouped-query attention,GQA)1。 Transformer中的多头注意力在解码阶段来说是一个性能瓶颈。多查询注意力2通过共享单个key和value头,同时不减少query头来提升性能。多查询注意力可能导致质量下…...

英伟达开源新利器NV-Embed向量模型,基于双向注意力的LLM嵌入模型,MTEB 56项任务排名第一
前言 文本嵌入模型能够将文本信息转化为稠密的向量表示,并在信息检索、语义相似度计算、文本分类等众多自然语言处理任务中发挥着关键作用。近年来,基于解码器的大型语言模型 (LLM) 开始在通用文本嵌入任务中超越传统的 BERT 或 T5 嵌入模型,…...

JVM之【GC-垃圾清除算法】
Java虚拟机(JVM)中的垃圾收集算法主要分为以下几种: 标记-清除算法(Mark-Sweep)复制算法(Copying)标记-整理算法(Mark-Compact)分代收集算法(Generational C…...

数据分析每周挑战——心衰患者特征数据集
这是一篇关于医学数据的数据分析,但是这个数据集数据不是很多。 背景描述 本数据集包含了多个与心力衰竭相关的特征,用于分析和预测患者心力衰竭发作的风险。数据集涵盖了从40岁到95岁不等年龄的患者群体,提供了广泛的生理和生活方式指标&a…...

单例模式(Java实现)
我的相关文章: JavaSE 学习记录-CSDN博客 多线程笔记-CSDN博客 单例模式(Java实现)-CSDN博客 JUC笔记-CSDN博客 注解与反射(Java,类加载机制,双亲委派机制)-CSDN博客 1. 懒汉式线程不安全 pu…...

24.面向对象六大原则
目录介绍 00.面向对象六大原则01.代码单一职责原则02.代码开放封闭原则03.代码里氏替换原则04.代码依赖倒置原则05.代码接口隔离原则06.代码迪米特原则00.面向对象六大原则 六大原则一句话介绍 单一职责原则:指一个类的功能要单一,不能包罗万象。开放封闭原则:指一个模块在扩…...