赞
踩
目录
2.2.3 Amazon Simple Queue Service
最近需要学习使用到AWS一些内容,整理之后,有了这篇文章
…………………………………………………………
官网介绍:
1.无服务器应用程序:AWS Serverless Application Repository 是无服务器应用程序的托管存储库
2.资源共享:团队、组织和各个开发人员能够存储和共享可重用的应用程序
3.提升效率:团队减少重复工作、确保采用组织最佳实践,并更快地进入市场
4.使用优势:
- 更快地从想法到市场:消除服务运营开销,更快落地产品
- 降低成本:按量付费
- 灵活采用:能够灵活控制成本
- 更轻松、更好、更快、构建的应用程序:因为aws 简化了项目部署的繁琐步骤,让代码解耦,因为效率更高更快
Tips:
更高更快的前提,是需要先学习了解aws的整体部署流程
下图为serverless简单介绍:
AWS在
- 计算
- 应用程序集成
- 数据存储
三个层级开发了无服务器服务
计算模块包括:
- AWS Lambda
- AWS Fargate
AWS Lambda 是一项无服务器事件驱动型计算服务
该服务可以运行几乎任何类型的应用程序/后端服务的代码,而无需预置或管理服务器。
可以从 200 多个 AWS 服务和软件即服务 (SaaS) 应用程序中触发 Lambda,且只需按您的使用量付费
AWS Fargate 是一种无服务器、随用随付的计算引擎,
可专注于构建应用程序,而无需管理服务器。
AWS Fargate 与 Amazon Elastic Container Service (ECS) 和 Amazon Elastic Kubernetes Service (EKS) 兼容。
应用程序集成包括:
- Amazon EventBridge
- AWS Step Functions
- Amazon Simple Queue Service
- Amazon API Gateway
Amazon EventBridge 是一种无服务器事件总线
可接收、筛选、转换、路由和交付事件
下图简单介绍了,可以理解为是流程管理:
AWS Step Functions 是一项可视化的工作流服务
可帮助开发人员使用 AWS 服务来构建分布式应用程序、自动化流程、编排微服务以及创建数据和机器学习(ML)管道。
其实,我的理解:类似业务的拆分细化,比如一个业务,可以细分为几个step,可能就会用到step
Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务
可分离和扩展微服务、分布式系统和无服务器应用程序。
可以在软件组件之间发送、存储和接收任何规模的消息,而不会丢失消息,并且无需其他服务即可保持可用。
SQS 提供两种消息队列类型。标准队列提供最高吞吐量、最大努力排序和至少一次传送。
SQS FIFO 队列旨在确保按照消息的发送顺序对消息进行严格一次处理。
Amazon API Gateway 是一种完全托管的API服务
Amazon API Gateway可以轻松创建、发布、维护、监控和保护任意规模的 API。
可从后端服务访问数据、业务逻辑或功能。
使用 API Gateway,创建 RESTful API 和 WebSocket API,以便实现实时双向通信应用程序。
API Gateway 支持容器化和无服务器工作负载,以及 Web 应用程序。
API Gateway 负责管理所有任务,涉及接受和处理成千上万个并发 API 调用,包括流量管理、CORS 支持、授权和访问控制、限制、监控,以及 API 版本管理。
API Gateway 没有最低费用或启动成本。需要为收到的 API 调用和传出的数据量付费。
API Gateway 工作原理
数据存储主要介绍下面2个:
- Amazon S3
- Amazon DynamoDB
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务
特点:
- 可扩展性
- 数据可用性
- 安全性
- 性能
借助高成本效益的存储类和易于使用的管理功能,可以优化成本、组织数据并配置精细调整过的访问控制,从而满足特定的业务、组织和合规性要求。
S3工作原理:
Amazon DynamoDB 是一种完全托管式、无服务器的 NoSQL 键值数据库
DynamoDB 提供
- 内置安全性
- 连续备份
- 自动多区域复制
- 内存缓存
- 数据导入和导出工具
目标在可以运行任何规模的高性能应用程序。
DynamoDB 工作原理:
就先写到这里吧,后续再针对某个模块,详细研究~~
………………………………………………
加油呀~~~
个人理解:
无服务应用,感觉是把传统的服务弱化了,业务之间的关系解耦了。
从而使每个部分在某种意义上来说,都是独立的
而且提取了一部分公共功能,如服务器、操作系统维护、容量调配和弹性伸缩、代码和安全补丁部署以及代码监控和日志记录都已经做成公共模块化。
因此开发者只需要提供代码,不需要考虑其他因素,专注于业务层的实现
但对于一个项目来说,是这些公共部分+代码只有合在一起,才能是一个完整的项目服务。
感觉会更适合一些云计算的场景。按需付费,算法计算场景。
若有理解偏差,大佬可评论区指出!感谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。