
如何免费调用有道翻译API实现多语言翻译
本文介绍了AWS无服务器架构上RESTful API的实现。它详细概述了架构、数据流和可使用的 AWS 服务。本文还介绍了无服务器架构相对于传统方法的优势。
无服务器架构,也称为无服务器计算或功能即服务,是一种软件设计方法,允许开发人员构建和运行应用程序而无需管理底层基础架构。云服务提供商负责管理和扩展云基础架构,包括配置服务器以运行应用程序、数据库和存储。
企业只需为其使用的计算资源(例如请求数量、执行时间和消耗的资源)付费,因此无需为硬件或软件支付前期费用。这样就无需为闲置的基础设施付费,从而大幅节省成本。
无服务器架构会根据工作负载自动扩展和缩小规模。这可确保应用程序能够处理不同级别的流量。
每个功能都可以独立扩展,确保根据需求有效分配资源。
无服务器架构非常适合事件驱动的应用程序,其中功能由特定事件(例如 HTTP 请求、数据库更改或消息队列更新)触发。
以下 AWS 服务可纳入REST API 的实施中。下面的列表提到了 AWS 服务及其在 API 实施中的用途。
Route53 可用于域名注册、DNS 路由、流量流、流量管理、健康检查和监控。
使用API 网关创建、发布、维护、监控和保护任意规模的 REST API。
可以在 API 网关下创建 HTTP 方法(GET,POST
、PUT
、DELETE
、PATCH
、 )。这些方法可以集成到相应的前端控制器 Lambda 函数中。OPTION
AWS WAF(Web 应用程序防火墙)可帮助您防范常见的 Web 漏洞和机器人,这些漏洞和机器人可能会影响可用性、危害安全性或消耗过多资源。我们可以将 WAF 与 API 网关关联起来,以过滤掉恶意请求。
使用 WAF 我们可以配置以下内容:
Lambda 授权器将调用者的身份作为输入,并返回IAM策略作为输出。使用 Lambda 授权器实现自定义身份验证和授权。
Lambda 在经过认证和授权之后会向 API 网关返回两种类型的策略:
Lambda 函数用于实现业务逻辑、调用其他 lambda 函数、下游服务和数据库。
下面的架构图描述了所使用的 AWS 服务集、数据流以及与其他服务的集成。
从高层次上讲,客户端向 Amazon API Gateway 发送 HTTP 请求,从而触发 AWS Lambda 函数。Lambda 函数处理请求,在需要时与其他 AWS 服务交互(例如用于数据存储的 DynamoDB),并将响应返回给 API Gateway,然后 API Gateway 将响应发送给客户端。
在企业中,除了生产环境之外,还有多个可用于开发和测试的环境。在不同的环境中创建相同的资源集并手动跟踪配置更改可能是一项艰巨的任务,并且可能会引入错误。
为了解决这个问题,可以使用Terraform(基础设施即代码)。Terraform 有助于将资源从一个环境复制到另一个环境。除此之外,它还可以跟踪基础设施的状态。
任何CI/CD工具(例如Jenkins或GitLab )都可以使用 Terraform 自动执行部署。
总之,利用 AWS 无服务器架构开发 REST API 在可扩展性、成本效益和易于管理方面具有多种优势。
通过采用无服务器方法,开发人员可以更加专注于构建强大的 API,而无需管理服务器的开销。AWS Lambda 的事件驱动模型允许无缝扩展,确保您的 API 可以有效处理不同的工作负载。
原文链接:https://dzone.com/articles/api-implementation-on-aws-serverless-architecture