什么是ServerlessPresso?
serverlesspresso是一种互动的无服务器应用程序,可帮助弹出式咖啡店在会议和活动中提供优质咖啡店,以接受订单并在饮料准备就绪时通知客户。为了做这项工作,需要一个可满足需求的强大解决方案来处理单个饮料的工作流程,并为咖啡饮用者进行身份验证。它由三个前端应用程序组成,主要由AWS步骤功能和Amazon EventBridge和其他AWS服务构建。
使用的服务
- AWS放大控制台
- 亚马逊API网关
- Amazon DynamoDB
- Amazon Eventbridge
- AWS步骤功能
- AWS IoT Core
- aws lambda
- 亚马逊学习 li>
AWS放大控制台:
AWS Amplify Console是一款全栈云服务,为Web和移动应用程序提供连续部署和托管。它与其他AWS服务集成在一起,并允许开发人员使用基于GIT的工作流部署和管理其应用程序。单击here以获取有关AWS Amplify的更多信息。
亚马逊API网关:
Amazon API网关是一项允许创建,发布和管理API的服务。它为API所有者提供了可靠的安全性,监视和管理功能,同时允许API消费者安全访问API。单击here在Amazon API网关上以获取更多信息。
Amazon DynamoDB:
Amazon DynamoDB是一种由AWS管理的NOSQL数据库服务,可提供快速且可预测的性能,并易于可扩展性。它的设计使其可以处理大量数据量,并且是移动,网络,游戏,广告技术和物联网应用程序的流行选择。单击here,以获取有关Amazon DynamoDB的更多信息。
Amazon Eventbridge:
Amazon EventBridge是一款无服务器事件总线服务,可简化事件驱动的体系结构的构建。它为来自不同来源的事件提供了一个中心枢纽,并可以轻松地将事件路由到AWS服务或其他目标。单击here在Amazon Eventbridge上以获取更多信息。
AWS步骤功能:
在视觉工作流程的帮助下,亚马逊步进功能是一种解决方案,可以简单地编排众多分布式应用程序和微服务。可以使用提供的图形控制台以您首选的执行顺序安排和组织工作流程的步骤。
您的应用程序按照指定顺序运行,因为每个步骤都会自动启动,监视和通过Amazon步骤功能进行。单击here以获取有关AWS步骤功能的更多信息。
AWS IoT核心:
AWS IoT Core是一项服务,可让您牢固地将设备连接到AWS云并轻松地将其连接到AWS云。提供了用于设备管理,数据处理以及与其他AWS服务集成的选项。单击here以获取有关AWS IoT Core的更多信息。
AWS Lambda:
aws lambda是一款无服务器计算服务,可让您在不担心基础架构的情况下运行代码。它支持多种编程语言,可用于构建高度可扩展和事件驱动的应用程序。单击here以获取有关AWS lambda的更多信息。
亚马逊学习:
Amazon Cognito是AWS提供的服务,它为Web和移动应用程序用户提供了注册以访问该应用程序的手段。 Cognito提供了诸如用户注册和登录,社会身份提供商,例如Facebook和Google,多因素身份验证以及跨设备的用户数据同步的功能。它还与AWS服务(例如Amazon API Gateway和AWS Lambda)集成在一起,以提供完整的无服务器应用程序。单击here以获取有关AWS lambda的更多信息。
应用结构
我创建了各种微服务,将现有前端与后端无服务器应用程序集成在一起。我使用AWS步骤功能来处理编排和Amazon Eventbridge来处理编排。
前端
我为已部署的前端提供了所需的环境变量,以使它们连接。这三个前端是:
显示应用程序:
这将显示在屏幕上,客户可以清楚地看到。它为客户提供了扫描订单的条形码,并显示了即将发布和完成的饮料订单的实时队列。
咖啡师应用:
这是在咖啡师使用的平板电脑上运行的。该应用程序允许咖啡师更改饮料订单的状态,或者在需要时取消订单。该应用程序的更新传播到其他应用程序。
订购应用程序:
客户使用这来下订单。它旨在在移动设备上运行。这就是移动设备上的外观。
后端:
后端应用程序体系结构使用AWS步骤功能,Amazon Eventbridge,AWS Lambda,Amazon API Gateway,Amazon S3,Amazon DynamoDB和Amazon Cognito。后端是一组几个无服务器微服务:
- 计数微服务 - 这使用DynamoDB表来计算订单的数量,并将其附加到订单信息中。
- OrderManager Microservice - 这是负责管理咖啡订单的负责人。它具有一个功能,其中包含有关每个咖啡订单的信息。
- config Microservice - 这负责保存有关菜单上可用的饮料的信息,无论商店是开放还是关闭的,并且还通过Amazon Api Gateway Service提供了访问权限。
- 发布者Microservice - 这是负责将事件发送到IoT核心主题的原因,该主题又将事件消息发送到前端应用程序。
- QR验证器微服务 - 这负责向显示屏幕提供QR码以供客户扫描。
- 订单处理器微服务 - 这是负责从头到尾处理客户订单的工作流程。
JavaScript在前端浏览器应用程序中运行,使用API网关从API发送和接收数据。 DynamoDB给出了API使用的数据存储的持久性层。事件通过使用AWS IoT Core和AWS lambda发送到前端应用程序。
完整体系结构请参见下图:
在标题为“ building serverlesspresso”系列的第2部分中继续进行。评论非常感谢。