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

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题求根节点到叶节点数字之和

题目&#xff1a; 题解&#xff1a; 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中&#xff0c;如果使用Scheduled注解来定义多个定时任务&#xff0c;默认情况下这些任务将会被安排在一个单线程的调度器中执行。这意味着&#xff0c;这些任务将会串行执行&#xff0c;而不是并行执行。当一个任务正在执行时&#xff0c;其他被触发的任务将会等待…...

【工具】redis的安装使用

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

汇编:数据定义数据填充

数组的定义 在32位汇编语言中&#xff0c;定义数组时&#xff0c;通常使用定义数据指令&#xff08;如 DB, DW, DD,DQ &#xff09;和标签来指定数组的名称和内容。DB定义字节数组&#xff08;每个元素占1字节&#xff09;、DW定义字数组&#xff08;每个元素占2字节&#xff…...

Python画图(多图展示在一个平面)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...