aws服务概要

本文章是对云服务做整体概要

1.SQS介绍

  • Amazon Simple Queue Service (SQS) 是一项快速可靠、可扩展且完全托管的消息队列服务。SQS 使得云应用程序的组件去耦合大大简化,并且具有较高的成本效益。您可以使用 SQS 来传输任何容量的数据,使用任意的吞吐量,而不会丢失消息或要求其他服务永久可用。
  • 简单说:独立的消息队列服务
  • 特点:
    • 可以构建多个消息队列,每个队列负责各自消息,互不干扰
    • 纯消息堆栈,针对同一个设备/接口进行请求时,对堆栈内消息进行轮循返回,每次只返回其中一条
    • 每条数据每次轮循时都会标记轮循数量+1
    • 可以对轮循信息进行各种操作,例如:读取、删除等
  • 使用前提:
    • 需要创建队列
    • 指定队列权限,可以让其他程序、服务推送信息到队列中进行轮循

2.SNS介绍

  • Amazon Simple Notification Service (SNS) Amazon SNS 是一项快速、灵活且完全托管的消息推送服务。将它用作基于云的移动应用程序通知服务来发送推送通知、电子邮件和 SMS 消息;或用作企业消息收发基础设施
  • 简单说:独立的消息推送服务
  • 特点:
    • 可以设置多个主题(类似通道,每个通道负责各自的消息推送)
    • 可以设置多种订阅接口,如:邮件、http、json、SNS等等(类似对数据进行格式化,不同设备、开发接口都可以请求得到所需的数据类型和形式)
    • 可以直接在SNS管理界面进行消息推送(对于开发来说可以作为测试使用)
    • 可以为移动设备app、云应用提供消息推送
  • 使用前提:
    • 需要优先创建主题(Topic)
    • 设置订阅接口
    • 测试订阅是否生效,如使用邮箱进行订阅则发送推送时,邮箱会收到对应的邮件。

3.AWS Lambda

  • 什么是AWS Lambda?
    • Lambda是一个“可简单创建Lambda函数、无需管理的计算平台”。不过我们也可以这么理解:Lambda是一个针对AWS计算资源的IFTTT脚本创建器和管理器。举个例子:你有一个照片类应用。照片上传到S3之后,需要在DynamoDB上记录新照片的元数据。Lambda的作用就是可以有一个地方放一个触发脚本来执行这个任务,而不用关心这个脚本运行在什么机器或者虚拟机上,也可以将Lambda理解为将functions(函数)从计算资源层抽象出来的服务。
  • Lambda设计理念
    • 胶水代码,就是触发器(trigger):当发生一个事件(event)时,执行某个函数(function),输出新的数据 (data)
  • Lambda的用法
    • Lambda服务的核心概念是Lambda function(简称function,函数),目前仅支持Node.js。围绕function可以定义情景,包括执行环境(语言、内存、超时、 IAM角色)以及这个function要触发的另一个function。function的代码和有关情景的元数据均存储在AWS中,以ARN(Amazon Resource Name)的方式被外部识别。如需包含第三方库,可以放在ZIP文件中上传
    • function上传之后,开发者可以将其指定到指定的AWS资源(如某个S3 bucket,某个DynamoDB表,某个Kinesis流),然后Lambda就会建立该资源跟你的function之间的关联。当资源方面发生变动,Lambda就会去自动张罗资源去执行你的function。用于运行function的资源的创建分配和释放都有Lambda自动来做,开发者完全 不需要去干预。
    • 每一个function默认会指定一个比较短的执行时间上限,不过这个上限最高可以调整到60秒
    • 每一个function具有双重的IAM角色:一个是触发角色(invocation role),决定Lambda执行某个function的权限;另一个是执行角色(execution role),决定该function操作AWS资源的权限
    • Lambda会监控每个function的执行情况,并将请求数、延时、可用性、错误率等指标记录在CloudWatch里。控制台里可以看到过去30日的指标
    • 使用Lambda的两点须知
      • 情景信息设置了该function的可用内存,可设置到128MB到1GB之间的任何数值。Lambda会这个数值选择相应的CPU能力、网络带宽和IO带宽
      • 每个function的触发可以使用最多256个进程或线程,占用本地512MB存储空间,1024个文件描述符,以及10个出口网络连接
      • Lambda对每个AWS账户设置了一系列管理限制。预览版期间,每个function最多可同时触发另外25个function

4.CloudFront

  • Amazon CloudFront 是一项快速内容分发网络 (CDN) 服务,可以安全地以低延迟和高传输速度向全球客户分发数据、视频、应用程序和 API,全部都在开发人员友好的环境中完成。CloudFront 已与 AWS 集成 – 同时包括直接连接到 AWS 全球基础设施的物理位置以及其他 AWS 服务。CloudFront 可与多种服务无缝集成,包括用于 DDoS 缓解的 AWS Shield、Amazon S3、用作您的应用程序来源的 Elastic Load Balancing 或 Amazon EC2 以及用于在靠近浏览者客户用户的位置运行自定义代码和自定义用户体验的 Lambda@Edge。

5.Aws Elastic search

  • Amazon Elasticsearch Service (Amazon ES) 是一种托管服务,可以让您轻松在 AWS 云中部署、操作和扩展 Elasticsearch 集群。Elasticsearch 是一款流行的开源搜索和分析引擎,适用于日志分析、实时应用程序监控、点击流分析等使用案例。借助 Amazon ES,您可以直接访问 Elasticsearch API,让现有代码和应用程序与服务无缝协作。
  • Amazon ES 为您的 Elasticsearch 集群预置所有资源并启动集群。它还自动检测和替换失败的 Elasticsearch 节点,减少与自管理基础设施相关的开销。您只需调用一次 API 或在控制台中单击几下就可扩展集群。

6.Dynamo DB

  • Amazon DynamoDB 是一种键-值和文档数据库,在任何规模下都能实现不到 10 毫秒的响应性能。这是一款完全托管的多区域、多主表数据库,具有内置的安全、备份和恢复以及内存中缓存功能,适用于互联网级别的应用程序。DynamoDB 每天可处理超过 10 万亿项请求,每秒支持超过 2000 万项请求的峰值。

你可能感兴趣的:(AWS相关,aws,sqs,sns,dynamo,db,elastic,search)