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

方案概述

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

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

应用场景

借助云原生产品 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 弹性能力

部署架构

图片

架构说明

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

产品介绍

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

前置条件

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

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

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

操作步骤

本实践可通过 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. 访问应用

  1. 通过压测展示 SAE 弹性

3.1. 创建 A 应用弹性规则

3.2. 创建 PTS 压测场景

3.3. 执行压测

3.4. 查看 A 应用扩容状态

3.5. 查看 A 应用缩容状态

3.6. 查看 A 应用指标

  1. 应用监控验证

4.1. 查看 A 应用监控大盘

4.2. 查看应用调用链

  1. 一键释放资源

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

往期文章:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571608.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32嵌入式系统设计与开发】——12IWDG(独立看门狗应用)

这里写目录标题 一、任务描述二、任务实施1、ActiveBeep工程文件夹创建2、函数编辑(1)主函数编辑(2)USART1初始化函数(usart1_init())(3)USART数据发送函数( USART1_Send_Data(&…

SAP_ABAP_MM_安全库存_设计方案+实现代码(MARD_MBEW )_ALV_行列控制动态编辑

SAP ABAP 顾问(开发工程师)能力模型-CSDN博客文章浏览阅读959次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/de…

短期通过PMP考试该如何备考?

不得不提到,新版本的考纲确实有些挑战性。我想和大家分享一下我的考试感受。个人认为新考纲的难度相对较高,至少比之前的冲刺模拟试题难度要大。新考纲的难点主要体现在两个方面:一是灵活变通的题目,二是混合题目数量比预期多得多…

Netty教程之NIO基础

NIO 介绍 NIO 全称java non-blocking IO(非阻塞 I/O),后续提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的。 阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种…

Springboot:Actuator监控

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、Actuator介绍 二、集成步骤 三、重要端点介绍 1、/actuator 2、/actuator/env 3、/actuator/heapdump 4、/actuator/metrics 5、/actuator/shutdown 6、/l…

HWM豪迈电子听漏仪维修相关仪XMIC-lite DXmic-lite

漏水检测系列仪器维修Leakage ManagemHWM豪迈电子听漏仪维修XMIC-lite DXmic-liteent检测仪器包括:Xmic电子听漏仪维修、Xmic-lite电子听漏仪;DXmic;DXmic-lite等系列。也叫电子地面麦克风,用来放大水从带有压力的自来水管道中泄漏出来产生的…

Go——结构体

Go语言中没有类的概念,也不支持类的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 一. 类型别名和自定义类型 1.1 自定义类型 在Go语言中有一些基本的数据类型,如string,整型,…

【随笔】Git -- 常用命令(四)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

Element

1、Element 基本使用 1.1、Element介绍 Element:网站快速成型工具。是饿了么公司前端开发团队提供的一套基于Vue的网站组件库。 使用Element前提必须要有Vue。 组件:组成网页的部件,例如超链接、按钮、图片、表格等等~ Element官网&#…

python实现图片压缩

首先 pip install Pillow compression_level参数,该参数的范围从0到100,其中0表示最小尺寸(最高压缩),100表示最大质量(最小压缩)。这个脚本将尝试在保持图片可识别性的同时,尽可能…

Java_16 移动零

移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0]…

uniapp对接极光推送(国内版以及海外版)

勾选push,但不要勾选unipush 国内版 网址:极光推送-快速集成消息推送功能,提升APP运营效率 (jiguang.cn) 进入后台,并选择对应应用开始配置 配置安卓包名 以及ios推送证书,是否将生产证书用于开发环境选择是 ios推送证书…