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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 该文档介绍了基于云原生应用的产品构建的微服务架构实践。

概述


随着业务不断创新,大型的单个应用和服务会被拆分为数个甚至数十个微服务,微服务架构已经被广泛应用。微服务的好处在于快速迭代,迭代过程保障线上流量不受损。依赖开源产品缺少专业运维工具,常常需要投入较大的运维人力和成本。


本实践基于云原生应用产品提供微服务注册配置中心、微服务治理和云原生网关等一系列高性能和高可用的企业级云服务能力。


场景描述


针对已经启用微服务架构或者准备改造为微服务架构的用户,通过实践熟悉云上基于云原生产品的微服务架构实践,熟悉服务注册和网关路由配置、全链路灰度发布、无损上下线、限流降级能力验证等。


方案架构

image.png


方案优势


本实践通过云速搭 CADT,一键完成基础环境的搭建和部署,提供可视化部署方案和 step by step 实操指导:


  • 高可靠:支持多可用区容灾,具备完善的流量防护、健康检测、自动恢复等能力,优化大量可用性痛点,保证引擎持久稳定运行。
  • 低成本:节省用户自建网关、注册配置中心、微服务治理体系的人力成本,高性能及高集成度可进一步降低资源成本。
  • 易用性:100% 兼容开源社区产品 Nacos、ZooKeeper 和 Eureka;应用代码、配置、镜像无须修改即可接入微服务治理,体验 MSE 服务治理能力。
  • 高度集成:与阿里云产品体系无缝对接。例如容器服务、日志服务、应用监控、Web 应用防火墙等,为您提供一站式的微服务解决方案。


产品介绍


专有网络(Virtual Private Cloud,简称 VPC)帮助您基于阿里云构建一个逻辑隔离的云上数据中心。专有网络由逻辑网络设备(如虚拟路由器,虚拟交换机)组成,可以通过专线/VPN 等连接方式与传统数据中心组成一个按需定制的网络环境,实现应用的平滑迁移上云。


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


容器服务 Kubernetes 版(简称 ACK)提供高性能且可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。在 2021 年,ACK 成为国内唯一连续三年入选 Gartner 公共云容器报告的产品,同时在 2022 年成为国内唯一进入 Forrester 领导者象限的产品。ACK 整合了阿里云的虚拟化、存储、网络和安全能力,助力企业高效运行云端 Kubernetes 容器化应用。


云消息队列 MQ(RocketMQ)是构建分布式互联网应用的基础设施,通过 MQ 实现的松耦合架构设计可以提高系统可用性以及可扩展性,是适用于现代应用的优秀设计方案。MQ 产品生态丰富,多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖金融保险、(新)零售、物联网、移动互联网、教育、物流、能源、交通等行业。


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


NAT 网关(NAT Gateway)提供公网 NAT 和私网 NAT 两种功能。公网 NAT 网关通过自定义 SNAT、DNAT 规则可为云上服务器提供对外公网服务、及主动访问公网能力;私网 NAT 网关(也即 VPC NAT 网关)可使 VPC 内的 ECS 实例通过私网地址转换服务,实现 VPC 与 VPC 之间、及 VPC 与线下 IDC 互访能力。


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


前置条件


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


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


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


操作步骤


1. 关键技术

1.1. 治理趋势
1.2. 网关选型

2. 实践架构设计

2.1. 架构图

2.2. 核心模块

2.3. 基础资源环境规划

3. 基础环境搭建

3.1. 基于模版新建环境

4. 云产品访问验证

4.1. 确认资源运行情况

4.2. 基础环境访问验证

5. 验证服务注册与网关路由

5.1. ACK 集群部署应用

5.2. 查看服务注册情况

5.3. mseprovider 验证

5.4. 验证网关流量转发

5.4.1. 创建服务

5.4.2. 创建路由

5.4.3. 验证路由效果

6. 全链路灰度能力验证

6.1. ACK 应用接入 MSE 治理中心

6.2. ACK 中应用添加灰度标

6.3. 实现同步调用全链路灰度

6.3.1. 设置服务版本

6.3.2. 核对基线版本路由

6.3.3. 创建全链路灰度泳道组

6.3.4. 创建分流泳道

6.3.5. 效果演示

6.4. 实现异步消息全链路灰度

6.4.1. 开启异步消息全链路灰度

6.4.2. 核对 MQ 的过滤条件

7. 无损上下线验证

7.1. 无损下线能力验证

7.1.1. 手动关闭无损下线

7.1.2. 通过脚本发起请求

7.1.3. 流量损失对比验证

7.2. 无损上线能力验证

7.2.1. 配置定时伸缩

7.2.2. 配置无损上线

7.2.3. 通过脚本发起请求

7.2.4. 观察预热曲线

8. 限流降级验证

8.1. 升级到企业版

8.2. 设置流控规则

8.3. 脚本请求和降级效果

8.4. 新增熔断规则和接口

8.5. 调整慢调用生效

8.6. 熔断效果展示

9. 一键释放云资源


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


往期文章:

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

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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
|
人工智能 Serverless 测试技术
nacos常见问题之Serverless 应用引擎2.0不支持 MSE nacos如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
27 0
|
1天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
1天前
|
负载均衡 Cloud Native 安全
云原生最佳实践系列 6:MSE 云原生网关使用 JWT 进行认证鉴权
本文档介绍了如何在 MSE(Microservices Engine)云原生网关中集成JWT进行全局认证鉴权。
|
1天前
|
弹性计算 监控 Cloud Native
云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测
通过MSE(微服务引擎)、SAE(Serverless应用引擎)、ARMS(应用监控服务)、PTS(性能测试服务)等产品,实现微服务的无服务化部署、监控和弹性伸缩。
|
1天前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
254 0
|
1天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
201 0
|
1天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
123 0
|
1天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
28 0
|
1天前
|
存储 前端开发 Java
第十一章 Spring Cloud Alibaba nacos配置中心
第十一章 Spring Cloud Alibaba nacos配置中心
27 0
|
1天前
|
消息中间件 SpringCloudAlibaba Java
第十章 SpringCloud Alibaba 之 Nacos discovery
第十章 SpringCloud Alibaba 之 Nacos discovery

相关产品

  • 微服务引擎
  • http://www.vxiaotou.com