多层架构
多层体系结构也称为 n 层体系结构。在这样的体系结构中,应用程序被开发和分布在多个层中。层数取决于业务需求,但三层体系结构是首选,也是最常用的。
此三层体系结构包括表示层、逻辑层和数据层。
用户直接与表示层交互。逻辑层包含将用户的操作转换为应用程序的行为的代码。数据层由保存与应用程序相关的数据的存储组成。
可以在整体式架构中使用数千台服务器来提高应用程序的性能。这种无服务器多层体系结构模式消除了服务器管理。
以下是使用由 AWS 管理的无服务器服务的几个好处:
无需选择、修补或管理操作系统
无需监控、横向扩展或保护服务器
不会因过度配置而对基础架构成本造成风险
不会因资源调配不足而对应用程序性能造成风险
无服务器服务
上述所有服务均可自动扩展,以支持应用程序的确切需求。
无服务器架构
表示层
在上述架构中,静态内容托管在 Amazon S3 上,并由 Amazon 云Front 分发。在 Amazon S3 上托管静态网站内容是在基于服务器的基础设施上托管内容的经济型替代方法。此外,大量数据可以存储在 Amazon S3 中。Amazon CloudFront 是一个内容交付网络,用于缓存静态内容并提供动态和静态内容,从而缩短网页加载时间并降低网络带宽成本。
AWS 认知用户池是一个用户目录,为应用程序用户提供注册和登录选项。它还可以控制谁可以访问亚马逊 API 网关中的 API。
逻辑层
对于动态内容路由 53,通过 AWS WAF 将请求发送到 API 网关,并从 API 网关 Lambda 函数触发数据并将其存储在 Amazon S3 和 DynamoDB 或 AWS Aurora 中。
通过将亚马逊的 API 网关与 AWS Lambda 集成,可以直接通过 HTTPS 请求触发代码函数。无论所需的请求量如何,API 网关和 Lambda 都会自动扩展。这两项服务允许专注于对应用程序重要的代码,而不是专注于实现多层体系结构的其他各个方面。
对于网络隐私,AWS 能够在亚马逊 VPC 中创建 lambda 函数。
AWS WAF 是一种 Web 应用程序防火墙,可以部署在云上,以保护应用程序免受 DDoS 攻击。WAF 通过定义安全规则来允许或阻止流量。亚马逊 Route 53 可以通过 AWS WAF 将用户的请求连接到云前分发。
AWS Glue 可以根据获取新数据集等事件运行 ETL(提取、转换和加载)作业。在上述架构中,一旦新数据(日志)在 Amazon S3 中可用,Glue 就会运行 ETL 作业,并且这些日志将被推送到 Amazon CloudWatch,并且可以通过 Amazon SNS 从 Amazon CloudWatch 发送通知。
数据层
根据应用程序方案,AWS Lambda 会将数据存储到亚马逊动态数据库或 AWS Aurora。
Amazon DynamoDB 能够存储无限可扩展的 NoSQL 数据库,还提供预置和按需容量模式,以便可以通过指定每个工作负载的容量来优化成本。
AWS Aurora 是一种与 MySQL 和 PostgreSQL 兼容的完全托管的关系数据库服务,专为传统企业数据库而构建,传统企业数据库需要具有开源数据库成本效益的性能和可用性。它能够根据应用程序的需求自动启动、关闭和扩展容量。它是一种经济高效的解决方案,适用于不频繁或不可预测的工作负载。
亚马逊雅典娜/亚马逊红移频谱使用 AWS Glue 作为存储和检索表元数据的中心位置。它具有分析非结构化,半结构化和结构化数据存储的能力。雅典娜还可以生成报告,亚马逊快速查看可以与雅典娜集成,以便轻松实现数据可视化。
根据最佳实践,所有服务都与 AWS IAM 角色连接。在许多情况下,可以利用此 AWS 托管服务,而不是管理典型的基于服务器的基础设施。在这种无服务器多层架构的帮助下,可以轻松创建易于维护、分离、安全、扩展且高度可用的生产应用程序组件。
审核编辑:郭婷
-
服务器
+关注
关注
12文章
9123浏览量
85331 -
AWS
+关注
关注
0文章
431浏览量
24355
发布评论请先 登录
相关推荐
评论