消息队列+Serverless:实现高弹性的电商订单系统
1. 云起实验室实验资源方式介绍
云起实验室实验资源方式介绍
云起实验室支持领取免费试用额度、个人账户资源三种实验资源方式。
- 领取免费试用额度
- 使用个人账号开通试用,平台仅提供手册参考。
- 所有实验操作将保留至您的账号,请谨慎操作。
- 在实验页面下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心。
- 说明:试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出免费试用额度,可能会产生一定费用。
- 个人账户资源
- 使用您个人的云资源进行操作,资源归属于个人。
- 所有实验操作将保留至您的账号,请谨慎操作。
- 平台仅提供手册参考,不会对资源做任何操作。
- 说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。
准备开始实验
在实验开始前,请您选择其中一种实验资源,单击确认开启实验。
说明:每个实验所支持的实验资源方式都不相同,实验不一定能满足有三种实验资源方式,请根据实验的实际情况,进行选择。
2. 领取免费试用资源
实验前必看!
- 本实验访问控制RAM是免费产品。
- 本实验是用的时间总线EventBridge目前处于公测阶段,限期免费,如果实验后您还想继续使用该服务,请您随时留意后续的收费通知。
- 本实验使用的消息服务MNS是付费资源,具体收费模式请参考,https://www.aliyun.com/price/product?spm=a2c4g.71896.0.0.4aee56ee0qdPIF#/mns/detail/mns
- 本实验使用的函数计算FC和表格存储Tablestore均为付费资源。这两个产品支持免费试用,如果您的阿里云主账号符合开通免费试用的资格,建议您开通免费试用函数计算FC和表格存储Tablestore的免费试用,两者免费试用时长为3个月,超出免费额度的用量,计入按量付费,会产生后付费账单,具体计费详情,请参见计费概述。
- 如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
- 为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
- 在实验开始前,请您选择领取免费试用额度。
- 开通函数计算FC免费试用。
2.1 在实验室页面下方,选择函数计算FC,单击立即试用。
2.2 在函数计算FC面板上,选中服务协议,单击立即试用。
- 开通表格存储Tablestore免费试用。
3.1 在实验室页面下方,选择表格存储Tablestore,单击立即试用。
3.2 在表格存储Tablestore面板,选中服务协议,然后单击立即试用,如弹出新的页面,您可先忽略。
- 领取完免费试用后,返回资源领取界面,单击我已开通,进入实验。
说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
3. 资源准备
- 产品开通
依次前往消息服务 MNS访问控制、函数计算和事件总线控制台,开通四个产品服务。请注意,开通的服务需要在同一个region,本次实验试用华东1(杭州)区域的资源。
1)消息服务 MNS:https://mns.console.aliyun.com/
2)访问控制:https://ram.console.aliyun.com/
3)函数计算:https://fcnext.console.aliyun.com/
4)事件总线:https://eventbridge.console.aliyun.com/
5)表格存储:https://otsnext.console.aliyun.com/
- 表格存储按量实例计费:https://help.aliyun.com/document_detail/213349.htm?spm=a2c4g.11186623.0.0.2eed41abf0U2qT#concept-2045489
- 消息服务 MNS 队列资源占用费:https://www.aliyun.com/price/product?spm=a2c4g.11186623.0.0.53326671xu80Es#/mns/detail/mns
- 函数计算资源使用费用:https://www.aliyun.com/price/product
注意:本场景可能会产生费用,主要包括:
为了避免不必要的费用,请在本场景体验完成后,按照文档最后删除步骤,进行相关资源的删除。所有顺利完成体验的用户,将会在活动结束后的 5个工作日内,收到价值3元的产品代金券。
- 权限授权
事件总线开通完成后,需要登陆事件总线控制台,会有进行SLR授权页面,单击一键授权即可。
- 资源创建
表格存储开通完成后,需要进入表格存储控制台,在某个地域(例如青岛)提前创建好一个表格存储实例,然后记住该地域以及实例名称,后续部署应用时会用到这些信息。
4. 资源准备
- 产品开通
您已经通过免费试用活动,开通了函数计算FC和表格存储Tablestore,剩余如下产品需要登录控制台开通,请注意,开通的服务需要在同一个region,本次实验试用华东1(杭州)区域的资源。
依次前往消息服务 MNS访问控制和事件总线控制台,开通这两个个产品服务。
1)消息服务 MNS:https://mns.console.aliyun.com/
2)事件总线:https://eventbridge.console.aliyun.com/
注意:本场景可能会产生费用,主要包括:
- 消息服务 MNS 队列资源占用费:https://www.aliyun.com/price/product?spm=a2c4g.11186623.0.0.53326671xu80Es#/mns/detail/mns
为了避免不必要的费用,请在本场景体验完成后,按照文档最后删除步骤,进行相关资源的删除。所有顺利完成体验的用户,将会在活动结束后的 5个工作日内,收到价值3元的产品代金券。
- 权限授权
事件总线开通完成后,需要登陆事件总线控制台,会有进行SLR授权页面,单击一键授权即可。
- 资源创建
表格存储开通完成后,需要进入表格存储控制台,在某个地域(例如杭州)提前创建好一个表格存储实例,然后记住该地域以及实例名称,后续部署应用时会用到这些信息。
5. 应用部署
- 通过该链接https://fcnext.console.aliyun.com/applications/create?template=inventory-management-application,进入函数计算FC应用部署页面。
- 针对刚开通的账号,函数计算会指引用户创建一个默认角色,点击“创建”然后“同意授权”,这个角色在后续流程中会用到。若没有该弹窗请跳过此步。
- 在部署类型处,选择直接部署。
- 在角色名称处,若提示需要额外授权或者未授权,可以单击前往授权 ,然后单击同意授权。
- 进行高级配置填写。
- 地域选择之前创建的表格存储服务实例所在的地域-华东1(杭州)。
- 服务名:默认inventory-management-application。
- 订单处理队列名称:fcmnsOrderQueue(请直接复制此队列名称)。
- 死信队列名称请填写:fcmnsDeadLetterQueue(请直接复制此队列名称)。
- 表格存储实例名称:填入之前创建好的实例名称。
- 表格存储表格名称:自行填写。
- 若RAM 角色 ARN处提示需要一些额外的权限,则单击前往授权后进行授权。
说明:其余配置可以自定义设置,输入的资源名称需要记住,方便后续进行资源删除。
- 配置完成后,单击创建,然后就会跳转到应用详情页面,此处需要稍等 3-5 分钟,等待应用创建完成。
6. 应用访问
- 应用完成部署后,您可以看到访问域名,单击即可跳转到库存管理页面。
- 在库存管理页面,可以进行如下操作:
- 新增商品:新增目标商品,需要指定商品名称,商品编号以及初始库存大小,由于法律法规原因,该示例程序暂不支持配置告警规则,新增完成后,商品概要会在表格中展示。
- 模拟下单/停止下单:可在目标商品的后面单击模拟下单,此时示例程序会不间断地模拟用户对目标商品进行下单,每个订单都会生成对应的订单消息进入订单处理消息队列中,触发消息处理函数执行,从而不断更新库存。若想要停止生成订单,只需要单击停止下单即可。
- 入库:当库存不足时,订单就会失败进而生成失败订单消息投递到死信队列中,触发错误处理函数执行更新“失败订单数”,页面中的失败订单数也会不断上升,此时就需要管理员进行“商品入库操作”,新增指定数量的商品
- 体验完成后,关掉页面即可。
7. 资源删除
本场景的部署过程是免费的,但是在后期的使用过程是会产生一定的费用,主要包括:
- 表格存储按量实例计费:https://help.aliyun.com/document_detail/213349.htm?spm=a2c4g.11186623.0.0.2eed41abf0U2qT#concept-2045489
- 消息服务 MNS 队列资源占用费:https://www.aliyun.com/price/product?spm=a2c4g.11186623.0.0.53326671xu80Es#/mns/detail/mns
- 函数计算资源使用费用:https://www.aliyun.com/price/product
所以您之后如果需要商品下单以及库存更新等操作,可能都会涉及到相关费用,为了避免费用的产生,您可以删除相对应的资源:
- 删除表格存储表格。
前往表格存储控制台https://otsnext.console.aliyun.com/,进入对应实例中,单击删除表格。
- 删除表格存储实例。
前往表格存储控制台https://otsnext.console.aliyun.com/,找到对应实例,单击释放。
- 删除函数计算服务。
在应用创建完成页面,单击右上角删除,再选中所有资源,然后单击删除应用及所选资源,即可删除函数计算相关的资源。
- 删除消息服务MNS队列。
前往消息服务MNS控制台https://mns.console.aliyun.com/,删除队列的名称为:fcmnsOrderQueue、fcmnsDeadLetterQueue,选择更多>删除。
队列的资源名称可以在应用中心部署页面查看。
需要注意的是,如果您通过其他途径/渠道对要删除的资源资源进行了使用,请注意删除后的影响。
实验地址:https://developer.aliyun.com/adc/scenario/4a4ffafd8a1e482f83eb0d7bc07ac64b