云原生最佳实践系列 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.mzph.cn/news/774242.shtml

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

相关文章

SEO 的未来:GPT 和 AI 如何改变关键词研究

谷歌Gemini与百度文心一言:AI训练数据的较量 介绍 想象一下,有一个工具不仅可以理解错综复杂的关键字网络,还可以预测搜索引擎查询的变化趋势。 这就是生成式预训练 Transformer (GPT) 和其他人工智能技术发挥作用的地方,以我们从…

怎么创建百科人物的词条?百度百科词条创建

百度百科中,创建一个属于自己的词条,不仅是个人荣誉的象征,更是对其生平事迹的官方记录,能够让更多人了解和记住一个人的成就。那么,如何创建一个高质量的百科人物词条呢?本文伯乐网络传媒将详细解答这一问…

详细分析Linux中的core dump异常(附 Demo排查)

目录 1. 基本知识2. 进阶知识3. Demo4. 彩蛋 1. 基本知识 Core dump 是指在程序异常终止时,操作系统将程序的内存映像保存到磁盘上的一种机制。 在 Linux 系统中,core dump 提供了一种调试程序错误的重要方式,它记录了程序在崩溃时的内存状态…

Codeup_1132:问题 A: 最长公共子序列

目录 Problem DescriptionInputOutputSample InputSample Output原题链接解题思路代码实现(C) Problem Description 给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就…

伦敦银交易技巧:复合汇聚区域的应用

在伦敦银交易中我们需要掌握一些交易技巧,有了交易技巧我们才看得懂市场走势,进而作出适合我们的交易选择。下面我们就来讨论一个关于复合汇聚区域的伦敦银交易技巧。 相信很多人都学过支撑阻力位这个伦敦银交易技巧。一般来说,在伦敦银交易中…

ForkJoinPool在生产环境中使用遇到的一个问题

1、背景 在我们的项目中有这么一个场景,需要消费kafka中的消息,并生成对应的工单数据。早些时候程序运行的好好的,但是有一天,我们升级了容器的配置,结果导致部分消息无法消费。而消费者的代码是使用CompletableFutur…

C++初学者:如何优雅地写程序

我喜欢C语言的功能强大,简洁,我也喜欢C#的语法简单,清晰,写起来又方便好用。 一、为什么不用C语言写程序。 C语言用来做题目,考试研究是很方便的,但是用来写程序做软件,你就会发现&#xff0c…

Altair(澳汰尔) Radioss® 评估和优化动态载荷下的高度非线性问题

Altair(澳汰尔) Radioss 评估和优化动态载荷下的高度非线性问题 Radioss 是一款超前的分析解决方案,可评估和优化动态载荷下的高度非线性问题。它广泛应用于全球各行各业,能有效提高复杂设计的耐撞性、安全性和可制造性。 30 多…

PMBOK第八版、项目管理AI标准...PMI标准今年有这些进展

项目管理实践标准不断在演变,PMI作为项目管理领域的权威机构,一直致力于与全球各行各业的项目实践者一同探索和研究最新的行业标准,确保PMI标准符合全球项目专业人士当前能力建设与职业发展的需要。 今年以来,我们发布了一系列PM…

Python接口自动化pytest框架安装

1、创建一个requirements.txt文件夹 2、输入内容:如下图 pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures pytest-base-url allure-pytest3、在terminal中输入安装命令:pip install -r requirements.txt 安装成功 4、在termina…

JavaScript混淆工具选择与使用指南

摘要 本文介绍了什么是js混淆工具,以及为什么需要使用js混淆工具。详细解释了js混淆工具的实现原理和作用,探讨了如何选择合适的js混淆工具,列举了几款常用的js混淆工具,并对它们的特点和适用场景进行了分析。最后总结了js混淆工…

HAL库 DMA +USART收发数据

DMA 首先,DMA相当于CPU的弱智小助手,不会复杂的逻辑运算,不占用CPU的时间,DMA就是一个数据搬运工。 串口收发数据,不外乎就是,CPU需要发数据时,将数据丢给DMA,完事就不管了,收数据是…

有关Kitchen-Rosenfeld角点检测的公式推导

第一次看到下面这个公式时,不太清楚怎么推导过来的 后面看了有关Kitchen-Rosenfeld的文章后,明白了 假设梯度的角度 θ \theta θ tan ⁡ θ = I y I x \tan \theta =\frac{I_y}{I_x} tanθ=Ix​Iy​​ 其中 I y I_y Iy​为y偏导, I x I_x Ix​为x偏导, I x x I_{xx} I…

PTA-练习9

目录 实验10-4 递归实现顺序输出整数 实验10-10 十进制转换二进制 实验10-6 递归求简单交错幂级数的部分和 实验11-1-2 输出月份英文名 实验11-1-6 指定位置输出字符串 实验11-1-8 查找子串 递归的基本思路: 推出递归的条件或者进入递归的条件每层递归需要执行…

html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标

基于以前的项目进行修改优化,前端代码根据List元素在html里进行遍历显示 原先的代码: 其中,noticeGuide.Id是标识noticeGuide的唯一值,但是不是从0开始的【是数据库自增字段】 但是在页面初始化加载的时候,我们只想…

JMeter 环境安装及配置

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

基于单片机防酒驾酒精检测报警系统装置设计

**单片机设计介绍,基于单片机防酒驾酒精检测报警系统装置设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机防酒驾酒精检测报警系统装置的设计旨在通过单片机技术和酒精传感器,实现对驾驶员酒…

labelme自动标注工具的安装和python代码修改

labelme嵌入SAM和EfficientSAM自动标注模型 目录: 1.labelme windows环境下安装python版本labelme 2.labelme.exe直接安装 3.labelme生成exe 4.labelme python代码修改 labelme自动标注使用方法 编辑/Create AI-Polygon 自动分割,直接生成分割图,标注为point,完成标注后…

【WiFi】WiFi QoS映射关系及抓包分析

WiFi Aliance认证测试对应图 RFC8325 ​​​​​​RFC 8325https://datatracker.ietf.org/doc/html/rfc8325 RFC 8325 – WiFi QoS Mappings | mrn-cciew (mrncciew.com)https://mrncciew.com/2021/09/14/rfc-8325-wifi-qos-mappings/ 802.11 UP和DSCP映射关系 802.11 UP …

大数据Hadoop入门04 ——【HDFS shell操作】

一、HDSF shell命令行解释说明 1、介绍 命令行界面(英语: command-line interface,缩写: CLl),是指用户通过键盘输入指令,计算机接收到指令后,予以执行一种人际交互方式。Hadoop提供了文件系统的shell命令行客户端:…