5分钟打造应对流量洪峰的商城交易系统——基于云消息队列 RocketMQ和Serverless 应用引擎 SAE

本文涉及的产品
简介: 通过SAE极速部署一个微服务电商商城,同时结合RocketMQ异步解耦、削峰填谷的能力,带大家体验面对流量洪峰仍旧稳定可靠的商城交易系统!
+关注继续查看

1、背景介绍

  • 消息队列RocketMQ版是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台。
  • Serverless应用引擎SAE(Serverless App Engine)是一个全托管、免运维、高弹性的通用PaaS平台。SAE支持Spring Cloud、Dubbo、HSF、Web应用和XXL-JOB、ElasticJob任务的全托管,零改造迁移、无门槛容器化、并提供了开源侧诸多增强能力和企业级高级特性。
  • 通过SAE极速部署一个微服务电商商城,同时结合RocketMQ异步解耦、削峰填谷的能力,带大家体验面对流量洪峰仍旧稳定可靠的商城交易系统!

我们选择了微服务架构,将商城划分为多个微服务,包括订单服务、库存服务、支付服务等。使用SAE平台,我们可以轻松部署这些微服务,而无需担心底层基础设施的运维。SAE提供了自动伸缩和负载均衡功能,确保微服务在面对不断变化的流量时能够保持高可用性和稳定性。使用RocketMQ来实现微服务之间的异步解耦。例如,当用户下单时,订单服务可以将订单创建的消息发送到RocketMQ消息队列,而不需要等待库存和支付服务的实时响应。这种异步解耦可以提高系统的性能和可伸缩性,允许各个微服务独立工作,同时降低了服务之间的耦合度。

在销售促销或特殊事件期间,商城可能会面临流量洪峰。为了应对这种情况,我们使用RocketMQ的削峰填谷能力。当流量剧增时,商城可以将请求暂时缓存到消息队列,然后慢慢消化,而不会让后端微服务直接承受所有的请求压力。这种方式可以确保商城系统在高峰时期仍然能够稳定运行,而不会因为超负荷而崩溃。

2、实验前的准备

image.png
image.png
image.png
image.png
可以看到对应的资源;
image.png

3、创建RocketMQ Topic、Group资源

1、创建实例
image.png
在实例列表页面,找到您创建的消息队列RocketMQ版实例,单击实例ID。
2、创建topic
image.png
这里的问题:
image.png
应该是要等待一会:
image.png
等一会就好了;
image.png
继续创建group;
image.png

4、SAE部署

在左侧导航栏中,选择命名空间(环境)。
image.png
在创建命名空间面板,命名空间名称输入为test,命名空间ID输入为test,单击确定。
又出现了错误:
image.png

image.png
image.png

5、部署商城

上传jar包之后:
image.png
在浏览器中以slbip:port的格式输入地址并回车,访问微服务商城应用。
image.png
因为使用到负载均衡SLB,具体计费详情,请参见负载均衡SLB费用计算器,后续步骤未完成了。
最后,释放对应的资源:
image.png
image.png

6、总结

在本次实验中,我们使用阿里云的Serverless应用引擎(SAE)来快速部署一个微服务电商商城,并结合RocketMQ的异步消息传递能力,以实现解耦和削峰填谷的需求。

结合RocketMQ版消息队列和SAE,我们可以构建一个稳定可靠的电商商城交易系统。添加如下的功能:

  • 订单处理:使用RocketMQ来异步处理订单相关的消息,确保订单信息的可靠传递和处理,同时利用SAE的高弹性来自动扩展订单处理服务。
  • 库存管理:通过RocketMQ将库存变更事件传递给库存管理服务,实现库存的实时更新,同时使用SAE来托管库存管理服务,确保高可用性和自动扩展。
  • 削峰填谷:在销售促销或特殊事件期间,使用RocketMQ和SAE的自动扩展能力来处理高峰流量,确保系统在流量洪峰时依然稳定可靠。

在后续的开发中,我们可以合理划分微服务,因为过于细粒度的划分可能导致系统复杂性增加。合理划分微服务可以提高系统的可维护性。并且在生产环境中,及时监控和日志记录是非常重要的。SAE提供了监控和日志功能,需要充分利用以便快速发现和解决问题。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
22天前
|
Serverless 数据安全/隐私保护 开发者
《开发者评测》之Serverless应用引擎SAE获奖名单
Serverless应用引擎SAE评测最优奖、潜力奖、争优奖获奖名单正式公布!
211 0
|
2月前
|
Kubernetes 监控 Serverless
Serverless 应用引擎中SAE与ECI的区别是什么?
Serverless 应用引擎中SAE与ECI的区别是什么?
172 3
|
2月前
|
运维 Serverless 应用服务中间件
Serverless应用引擎SAE,产品评测
Serverless应用引擎SAE是一款极简易用、自适应弹性的容器化应用平台。它提供全托管的计算服务,用户不必再关心复杂的基础设施,只需要上传代码或者容器镜像,SAE会自动运行,并提供网络、负载均衡、监控等配套能力,适用于网站、小程序、APP等Web应用以及微服务应用
304 0
|
2月前
|
弹性计算 Kubernetes Serverless
SAE和容器服务 Serverless 版 如何选择
SAE和容器服务 Serverless 版 如何选择
57 0
|
2月前
|
运维 监控 Serverless
Serverless应用引擎SAE评测|一分钟部署在线游戏
简要介绍Serverless应用引擎SAE以及一分钟部署在线游戏的操作过程,体验等
|
3月前
|
Java Serverless 应用服务中间件
Serverless 应用引擎 SAE
Serverless 应用引擎 SAE(Serverless App Engine)是阿里云推出的一款支持 Serverless 架构的微服务应用开发、部署和管理的平台。SAE 提供了一系列通用能力,如服务注册与发现、环境隔离、配置管理、服务治理、限流降级、应用平滑上下线、服务鉴权等,帮助开发者低门槛地上云,按需使用、按量计费,节省闲置计算资源。
142 2
|
3月前
|
监控 Serverless 持续交付
Serverless应用引擎SAE评测
通过三个场景全方位体验SAE
208 0
|
3月前
|
弹性计算 监控 Serverless
Serverless应用引擎SAE-测评
Serverless应用引擎SAE 2.0 公测版本
138 0
|
3月前
|
弹性计算 监控 Java
Serverless应用引擎SAE体验测评
在本次测评中,我将对Serverless应用引擎SAE产品进行全面评估。首先,我将结合部署游戏"Cannon Man",进行一些功能测试,以评估该产品的功能和易用性。然后,我再次体验它的极致部署。再然后,我将对其版本管理与流量分配能力进行分析。最后,我将对Serverless应用引擎SAE进行简要总结,希望能够为用户提供有用的参考信息。通过本次测评,我希望能够全面了解Serverless应用引擎SAE的特点,并为用户提供更好的决策支持。
104 7
|
3月前
|
弹性计算 运维 Serverless
微服务和 Serverless 架构-Serverless 与微服务结合的 SAE 介绍
微服务和 Serverless 架构-Serverless 与微服务结合的 SAE 介绍
435 0
微服务和 Serverless 架构-Serverless 与微服务结合的 SAE 介绍
热门文章
最新文章
相关产品
函数计算
Serverless 应用引擎
推荐文章
更多