AWS 无服务器微服务与模式和最佳实践
使用 AWS Lambda、API Gateway、EventBridge、SQS、DynamoDB 和 CDK for IaC 的 AWS 事件驱动无服务器微服务
讲师:Mehmet Ozkaya
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- AWS 事件驱动的无服务器微服务
- AWS Lambda、AWS DynamoDB、AWS API Gateway、AWS EventBridge、AWS SQS 和 AWS CDK
- 使用 AWS Lambda、API Gateway 的 REST API 和 CRUD 端点
- 使用 AWS DynamoDB 实现数据持久化
- 使用 AWS EventBridge 将微服务与事件解耦
- 使用 AWS SQS 进行跨服务通信的消息队列
- 使用 AWS CloudFormation CDK 通过 IaC 进行云堆栈开发
- 无服务器设计模式和最佳实践
- 开发电子商务事件驱动的微服务应用程序
- 使用 AWS Lambda、Api Gateway 和 DynamoDb 执行 CRUD 操作的 RESTful 微服务
- 使用 Amazon EventBridge 在微服务之间进行事件驱动的异步通信
- 使用 AWS CDK 进行无服务器电子商务应用程序基础设施开发
- AWS API Gateway -for- Restful API 驱动的开发和同步事件源
- AWS EventBridge -for- 微服务之间的事件驱动异步通信
- AWS SQS -for- 使用队列解耦微服务并异步处理事件
- 向 Serverless Eventbus(即 AWS EventBridge)发布并创建事件
- 为 AWS EventBridge 创建规则和目标定义
- 微服务发送轮询请求并从 AWS SQS 队列获取事件。
- 与 AWS Api Gateway 同步通信,将请求从客户端应用程序路由到下游微服务
- 与 AWS Serverless Eventbus 进行异步通信,Eventbus 是用于应用事件驱动异步通信模式的 EventBridge
- 事件源将通信轮询队列记录从 lambda 服务映射到 AWS SQS-Simple Queue Service 以实现解耦微服务
- DevOps 最佳实践使用 AWS CDK – 云开发套件开发基础设施即代码无服务器堆栈
- AWS 开发人员和 AWS 解决方案架构职位
- 以实用的方式准备您的 AWS 认证
- AWS 无服务器 + CDK 自动化 + 集成模式 = AWSome 微服务!
在你的职业生涯中蓬勃发展
通过订阅个人计划,访问一系列针对热门角色精心策划的顶级课程。
非常适合
软件架构师
精选的课程和实践练习集合,可帮助您提升软件架构师的水平。
- 80+相关课程
- 420+动手练习
- 4.6平均。课程评级
免费试用个人计划试用后每月起价 20.00 美元。随时取消。
要求
- 云基础知识
- JavaScript 基础知识
描述
本课程来自实时 GitHub aws-microservices 存储库,该存储库经过拥有250 多个星和100 多个分支的社区验证。
在本课程中,我们将使用AWS 事件驱动的无服务器微服务来学习
- AWS拉姆达,
- AWS动态数据库,
- AWS API网关,
- AWS事件桥,
- AWS SQS代表简单队列服务,
- AWS CDK代表 IaC 云开发套件 – 基础设施即代码工具和
- 用于监控的AWS CloudWatch。
本课程将100% 实践,您将开发一个真实世界的应用程序,其中包括:
- 使用REST API和CRUD 端点( AWS Lambda、API Gateway)
- 使用 (AWS DynamoDB )实现数据持久化
- 使用 ( AWS EventBridge )将微服务与事件解耦
- 使用消息队列( AWS SQS)进行跨服务通信
- 使用IaC进行云堆栈开发( AWS CloudFormation CDK )
在课程结束时,您将学习如何遵循微服务架构开发可靠且可扩展的无服务器应用程序。我们将使用AWS Serverless 服务开发事件驱动的微服务, AWS Serverless 服务本质上具有云的高可用性和高可扩展性。当然,在开发电子商务事件驱动的微服务应用程序时,我们将遵循无服务器设计模式和最佳实践。
有几个微服务通过产品、购物篮和订购微服务实现了电子商务模块。我们将使用AWS Lambda服务作为微服务,并利用 lambda 函数的强大功能。该微服务数据库将存储NoSQL AWS DynamoDB数据库。
此外,在设计无服务器微服务通信以进行同步和异步通信时,我们还遵循通信模式和最佳实践,使用AWS API Gateway、AWS EventBridge作为事件总线和AWS SQS作为队列服务。这意味着我们设计的架构依赖于异步连接,这为我们提供了更加灵活和有弹性的应用程序。
我们将使用
- AWS API Gateway -for- Restful API –驱动开发和同步事件源
- AWS EventBridge -for-事件-微服务之间驱动的异步通信
- AWS SQS -for-使用队列解耦微服务并异步处理事件
本课程提出了使用事件驱动模式和最佳实践在AWS 无服务器世界中实现面向微服务的架构。因此,该项目将是完全无服务器组件的电子商务应用程序。
我来尝试一一介绍Serverless组件;
API网关
- 这是我们微服务的入口点。
- API Gateway 提供Restful API 驱动开发和同步事件源。
- 同步命令是请求/响应。
- API Gateway 是同步事件源,并向 AWS Lambda 提供无服务器 API 代理。
- API 网关将 CRUD 请求重定向到内部微服务。
产品 Lambda 微服务执行;
- 通过AWS API Gateway使用DynamoDB 表进行 CRUD 操作
- 这将涵盖微服务架构中完全无服务器的产品表操作。
- 同步请求将由AWS API Gateway管理,并将请求路由到执行 CRUD 操作的产品Lambda微服务。
- 我们将使用AWS SDK编写 Lambda 函数来与其他AWS 资源交互,例如在产品案例中,我们将与 AWS Serverless DynamoDB 交互以执行所有 CRUD 操作。
篮子 Lambda 微服务执行;
- 使用AWS API Gateway和DynamoDB添加-删除同步购物篮操作
- 同样,同步请求将由AWS API Gateway管理,并将请求路由到执行 CRUD 操作的 Basket Lambda 微服务。
- 我们将使用AWS SDK编写 Lambda 函数来与其他 AWS 资源进行交互。例如,在篮子案例中,我们与 AWS Serverless DynamoDB 交互以执行所有增删改查操作。
但是也,
- 篮子微服务触发事件驱动的用例,即结账篮。
- 当结帐购物篮时,这将向Serverless Eventbus(即AWS EventBridge)发布并创建事件。
- 因此,这种异步通信将由 Basket Lambda 微服务和AWS EventBridge持有,并由通过AWS SQS 的订购微服务使用。
AWS 事件桥
因此,异步通信由AWS Serverless Eventbus服务(即AWS EventBridge)进行。
我们将从 Basket Lambda 微服务为AWS EventBridge创建规则和目标定义。
这意味着我们将在使用 AWS SDK向 AWS EventBridge发布结账消息时开发 Basket Lambda 微服务以进行开发。
AWS SQS 和 Ordering Lambda 微服务
因此,将 checkout 事件发布到EventBridge后,该事件将被 Ordering 部分消耗。
EventBridge将事件发送到AWS SQS,以获得 AWS队列的权力。
之后,Ordering lambda 微服务将通过轮询消耗此事件。
这意味着我们在使用事件、命令 lambda 微服务发送轮询请求并从AWS 队列获取事件时将使用事件源映射通信类型。
使用AWS 队列中的事件后,Ordering lambda 微服务会处理该事件,并在其DynamoDB表中创建订单记录。
订购 lambda 微服务通过使用 AWS SDK 开发 lambda 函数来执行所有这些操作。
我们有 3 种通讯类型;
- 与AWS API Gateway同步通信,将请求从客户端应用程序路由到下游微服务
- 与 AWS Serverless Eventbus进行异步通信,这是用于应用事件驱动异步通信模式的EventBridge 。
- 最后,当将队列记录从 lambda 服务轮询到AWS SQS – 用于解耦微服务的简单队列服务并异步处理事件时,我们进行事件源映射通信。
在课程中,我们将使用 Lambda 调用遵循这些微服务通信类型,并按照这些箭头开发我们的部分。
IaC 无服务器堆栈与 AWS CDK – 云开发套件
- 在对基础设施进行编码时将遵循DevOps最佳实践。在整个项目中,我们将使用AWS CDK – 云开发套件来开发基础设施即代码无服务器堆栈。
- 我们将使用AWS CDK进行IaC Serverless Stacks开发,我们将一起逐步开发和配置所有服务。
AWS 开发人员和 AWS 解决方案架构职位
本课程为您准备真正的AWS 开发人员和AWS 解决方案架构职位,并为您提供 3 位数的薪水。
因为我们将开发一个现实世界的无服务器应用程序,该应用程序已经被世界上许多公司使用和开发。
以实用的方式准备您的 AWS 认证
- AWS 认证开发助理
- AWS 认证解决方案架构师助理
不要记住所有主题,通过实践来感受和开发,通过这种方式你可以实现你的目标 AWS 工作。本课程将帮助您通过理论和实践方式准备AWS 开发人员和解决方案架构师助理认证,以开发无服务器电子商务应用程序。
AWS 无服务器 + CDK 自动化 + 集成模式 = AWSome!
这将是我们课程的宣言。我们将在课程和无服务器电子商务应用程序的每个地方都遵循这些宣言。
在开发无服务器电子商务应用程序时,我们将在课程中遵循队列更改、发布订阅和扇出设计模式的集成模式。
在本课程结束时,您将学习如何使用无服务器模式和最佳实践来设计和开发AWS 事件驱动的微服务。
本课程将是100% 实践,我们将一起逐步开发所有基础设施和微服务代码。
本课程适合谁:
- 希望使用 AWS 无服务器服务开发实际项目的软件开发人员
- 希望使用 AWS 无服务器服务开发实际项目的软件/解决方案架构师
- 谁想要在 AWS 无服务器服务上开发和部署微服务