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
目录
相关文章
|
5天前
|
消息中间件 存储 运维
为什么选择云消息队列 RocketMQ 版
为什么选择云消息队列 RocketMQ 版
11 1
|
5天前
|
Serverless 云计算 Docker
SAE是全场景Serverless计算平台,深度融合微服务
【5月更文挑战第2天】SAE是全场景Serverless计算平台,深度融合微服务,提供SAE Job任务场景解决方案,具备便捷、节省、稳定、透明和省心的特点。而ECI是Serverless容器运行服务,结合云计算理念,仅需Docker镜像即可运行,支持细粒度资源计费,旨在降低成本和提升效率。SAE侧重应用管理和运营,ECI专注于优化容器资源使用。
22 0
|
5天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
266 0
|
5天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
1067 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
5天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,在response.send()之后继续执行其它代码如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
182 0
|
5天前
|
运维 负载均衡 Java
Serverless 应用引擎产品使用之在阿里函数计算中,创建了个关于 stable diffusion 的函数服务,总是很卡如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
186 0
|
5天前
|
人工智能 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中使用自定义字体如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
165 0
|
5天前
|
弹性计算 运维 监控
Serverless 应用引擎产品使用之在阿里函数计算中,函数计算的的自定义域名的路由节约时间如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
169 0
|
5天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
210 1
|
5天前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里云函数计算中通过调用函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
308 10

热门文章

最新文章

相关产品

  • 函数计算
  • Serverless 应用引擎