云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测

简介: 通过MSE(微服务引擎)、SAE(Serverless应用引擎)、ARMS(应用监控服务)、PTS(性能测试服务)等产品,实现微服务的无服务化部署、监控和弹性伸缩。

01 方案概述


云原生应用平台为基于 Spring Cloud / Dubbo 开发的微服务应用提供了完善的能力支撑,例如服务注册发现、Serverless 无服务部署、实例弹性伸缩、微服务链路跟踪、全链路压力测试等,应用能够方便快捷的部署在阿里云上。


阿里云原生产品完全兼容 Spring Cloud 框架的主流版本,监控能力通过探针方式采集运行时数据,对业务代码无侵入。


02 应用场景


借助云原生产品 MSE、SAE、ARMS、PTS,提供一个经典微服务场景上云的步骤,体现云原生相关产品在微服务应用上云过程中,解决无服务化部署、微服务注册、微服务监控、微服务测试的能力。本实践中使用的 Spring Cloud 微服务 A、B、C,之间的调用关系为 A 调用 B,B 调用 C。此调用关系在 2.8 章节、4.2 章节可以查看。


主要步骤:

1. CADT 一键完成微服务应用环境创建

2. 配置使用独立 MSE 注册配置中心

3. SAE 无服务化部署

4. 展示 ARMS 基础监控能力

5. 通过 PTS 压测,展示 SAE 弹性能力


03 部署架构

image.png


04 架构说明


  • 1 个 MSE 注册配置中心
  • 3 个 SAE 应用
  • 1 个 EIP
  • 1 个 SLB
  • ARMS 资源开通
  • PTS 基础资源包


05 产品介绍


专有网络 VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如 ECS、负载均衡、RDS 等。


弹性公网 IP:弹性公网 IP 是独立的公网 IP 资源,可与阿里云专有网络 VPC 类型的云服务器 ECS、NAT 网关、ENI 网卡、私网负载均衡 SLB 绑定,并可以动态解绑满足灵活管理的要求。弹性公网 IP 可为您在云上部署的网站提供 Internet 访问服务。


微服务引擎 MSE:微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka)、云原生网关(原生支持 Higress/Nginx/Envoy,遵循 Ingress 标准)、微服务治理和分布式任务调度能力(兼容开源 XXL-JOB/ElasticJob/K8s Job/Spring Schedule)。


Serverless 应用引擎 SAE(Serverless App Engine):零代码改造、极简易用、自适应弹性的应用全托管平台。SAE 让您免运维 IaaS 和 K8s,秒级完成从源代码/代码包/ Docker 镜像部署任何语言的在线应用(如 Web/微服务/Job 任务)到 SAE,并自动伸缩实例按使用量计费,开箱即用日志、监控、负载均衡等配套能力。


ARMS 应用监控:是一款应用性能管理(Application Performance Management,简称 APM)产品。您无需修改代码,只需为应用安装一个探针,ARMS 就能够对应用进行全方位监控,帮助您全面掌控应用运行状态,快速定位出错接口和慢接口,洞察性能瓶颈,重现调用参数,从而大幅提升线上问题诊断的效率。


性能测试服务 PTS:作为性能测试工具,性能测试 PTS 支持按需发起压测任务,可提供百万并发、千万 TPS 流量发起能力,100% 兼容 JMeter。提供的场景编排、API 调试、流量定制、流量录制等功能,可快速创建业务压测脚本,精准模拟不同量级用户访问业务系统,帮助业务快速提升系统性能和稳定性。


云速搭 CADT(Cloud Architect Design Tools):是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。


06 前置条件


在进行本文操作之前,您需要完成以下准备工作:


1)注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页面https://account.console.aliyun.com/v2/#/authc/home查看是否完成实名认证。


2)购买按量付费资源,阿里云账户余额需要大于 100 元。考虑到部署后每小时会产生费用,建议账号内余额或者代金卷金额大于 200 元。您可以登录阿里云控制台,前往账户总览页面https://usercenter2.aliyun.com/home查看账户余额。


07 操作步骤


本实践可通过 CADT 官方模板快速拉起演示环境。


1. 基础环境搭建

2. 微服务注册到 MSE

2.1. 获取 mse 实例地址

2.2. 修改 A 应用注册

2.3. 修改 B 应用注册

2.4. 修改 C 应用注册

2.5. 开启应用监控

2.6. 挂载 CLB

2.7. 查看 eip 地址

2.8. 访问应用

3. 通过压测展示 SAE 弹性

3.1. 创建 A 应用弹性规则

3.2. 创建 PTS 压测场景

3.3. 执行压测

3.4. 查看 A 应用扩容状态

3.5. 查看 A 应用缩容状态

3.6. 查看 A 应用指标

4. 应用监控验证

4.1. 查看 A 应用监控大盘

4.2. 查看应用调用链5. 一键释放资源


最佳实践全部内容,请点击此处查看。对方案和产品感兴趣的朋友,可以加入钉钉群交流(群号:31852400)。


往期文章:

云原生最佳实践系列 1:借助云速搭 CADT 如何实现 Kafka 的性能压测?

云原生最佳实践系列2:基于 MSE 云原生网关同城多活

云原生最佳实践系列 3:基于 SpringCloud 应用玩转 MSE

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
|
11月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
|
8月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
10月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
1422 25
|
11月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
1446 0
|
10月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
2044 10
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1602 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
767 59
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
1515 2

相关产品

  • 微服务引擎
  • 性能测试
  • Serverless 应用引擎