BpFile(id=144, bpId=126, name=Spring Cloud Netflix应用迁移EDAS, author=null, keyword=edas,slb, description=Spring Cloud应用经过简单改造,迁移到云上企业级分布式应用服务(EDAS),利用EDAS的监控、调用链、限流降级, position=null, ossUrl=bp-NW116XZ2LK8Y468D.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
Spring Cloud Netflix微服务应用迁移到EDAS
服务(SpringCloud Alibaba云版本)的方法,
迁移后充分利用阿里云监控、调用链、限流降级
等能力,优化应用生命周期管理。
解决问题
1.帮助自建SpringCloudNetflix微服务应用
通过简单修改迁移到阿里云企业级分布式
应用服务(EDAS)平台。
2.迁移到EDAS后,简化应用的运维,提升监
控、调用链探测、限流降级等管理能力,提
高对应用的全生命周期管理。
产品列表
⚫企业级分布式应用服务(EDAS)
⚫负载均衡(SLB)
⚫专有网络(VPC)
⚫云服务器(ECS)
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1
Spring Cloud Netflix应用迁移 EDAS最佳实践
业务架构图
场景描述
Spring Cloud Netflix微服务应用迁移到 EDAS
服务(Spring Cloud Alibaba云版本)的方法,
迁移后充分利用阿里云监控、调用链、限流降级
等能力,优化应用生命周期管理。
解决问题
1. 帮助自建 Spring Cloud Netflix微服务应用
通过简单修改迁移到阿里云企业级分布式
应用服务(EDAS)平台。
2. 迁移到 EDAS后,简化应用的运维,提升监
控、调用链探测、限流降级等管理能力,提
高对应用的全生命周期管理。
产品列表
⚫ 企业级分布式应用服务(EDAS)
⚫ 负载均衡(SLB)
⚫ 专有网络(VPC)
⚫ 云服务器(ECS)
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
Spring Cloud Netflix应用
迁移EDAS
最佳实践
文档版本:20200106(发布日期)
文档版本:20200106 2
3Spring Cloud Netflix应用迁移 EDAS 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 Spring Cloud Netflix应用迁移 EDAS最佳实践
文档编号 149
文档版本 V1.1
版本日期 2020-01-06
文档状态 -
制作人 久诚
审阅人 游圣,敬海
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-01-03 久诚 游圣,敬海 创建
V1.1 2020-01-06 筱晖 - 文档优化
文档版本:20200106 I
4Spring Cloud Netflix应用迁移 EDAS 前言
前言
概述
阿里云 EDAS服务(企业级分布式应用服务) 是一个应用托管和微服务管理的 PaaS平
台,包括了对微服务应用的全生命周期管理能力,支持应用的开发、部署、监控、运
维等管理。EDAS是开源框架 Spring Cloud Alibaba的云版本,完全兼容该开源框架
的功能。本文将介绍将 Spring Cloud Netflix迁移到 Spring Cloud Alibaba的过程。
应用范围
⚫ 指出 Spring Cloud Netflix应用迁移到 EDAS的修改点。
⚫ 指出应用线上部署 EDAS平台的基本步骤。
⚫ 展现 EDAS平台对应用生命周期管理的基本能力。
名词解释
⚫ VPC:Virtual Private Cloud,简称 VPC。基于阿里云创建的自定义私有网络, 不
同的专有网络之间二层逻辑隔离,可以在自己创建的专有网络内创建和管理云产
品实例,比如 ECS、负载均衡、RDS等。在创建前,您需要结合具体业务,规划
VPC 和交换机的数量及网段等。 更 多 信 息 , 请 参 见 :
https://www.aliyun.com/product/vpc
⚫ ECS:Elastic Compute Service,简称 ECS。是阿里云提供的一种基础云计算服
务。无需提前采购硬件设备,根据业务需要,随时创建所需数量的云服务器 ECS
实例。在使用过程中,随着业务的扩展,可以随时扩容磁盘、增加带宽。也能随时
释放资源,节省费用。更多信息,请参见:https://www.aliyun.com/product/ecs
⚫ SLB: 对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用
系统对外的服务能力,通过消除单点故障提升应用系统的可用性。更多信息,请参
见:https://www.aliyun.com/product/slb
⚫ EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)
是一个应用托管和微服务管理的 PaaS平台,提供应用开发、部署、监控、运维等
全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )
等微服务运行环境。
更多信息,请参见:https://www.aliyun.com/product/kafka
文档版本:20200106 III
5Spring Cloud Netflix应用迁移 EDAS 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................ IV
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 2
演示环境说明 ............................................................................................................................................................. 3
1. Spring Cloud Netflix应用迁移 EDAS平台介绍 .................................................................................................. 4
2. 搭建线下微服务应用环境 ................................................................................................................................. 6
2.1. PiggyMetrics微服务 DEMO介绍 ....................................................................................................... 6
2.2. 构建 PiggyMetrics本地开发环境 ....................................................................................................... 8
2.3. 部署云资源 ....................................................................................................................................... 11
2.3.1. 创建专有网络 VPC .................................................................................................................... 11
2.3.2. 创建云服务器 ECS ..................................................................................................................... 14
2.4. 安装部署 RabbitMQ .......................................................................................................................... 19
2.5. 安装部署 MongoDB .......................................................................................................................... 23
2.6. 修改 PiggyMetrics配置并本地启动成功 ......................................................................................... 28
3. Spring Cloud Netflix应用改造 .......................................................................................................................... 32
3.1. Spring Cloud Netflix应用改造点概述............................................................................................... 32
3.2. 总配置文件改造 ............................................................................................................................... 32
3.3. 服务注册改造 ................................................................................................................................... 34
3.4. 配置管理改造 ................................................................................................................................... 35
3.5. 限流配置改造 ................................................................................................................................... 38
3.6. 验证本地启动 ................................................................................................................................... 39
4. 微服务应用部署 EDAS环境 ............................................................................................................................. 42
4.1. 创建云上环境网络 VPC .................................................................................................................... 42
4.2. 应用部署 EDAS集群 ......................................................................................................................... 45
4.3. 增加负载均衡能力 ........................................................................................................................... 60
4.4. 查看应用监控和调用链 ................................................................................................................... 69
4.5. 设定应用限流 ................................................................................................................................... 71
文档版本:20200106 IV
6Spring Cloud Netflix应用迁移 EDAS 最佳实践概述
最佳实践概述
方案架构
⚫ 将线下版本的 Spring Cloud Netflix应用进行基本的配置修改。
⚫ 对 Eureka, Hystrix等部件替换为 EDAS服务支持的部件。
⚫ 在阿里云申请 EDAS服务并部署修改后的微服务。
⚫ 支持对应用的监控、调用链、限流等能力。
方案优势
⚫ 通过将线下 Spring Cloud应用迁移到阿里云 EDAS服务,解决 Spring Cloud Netflix
已经进入维护模式的问题,迁移到开源 Spring Cloud Alibaba框架云版本 EDAS,
利用不断演进的阿里云企业级微服务能力。
⚫ 演示从 Spring Cloud应用迁移迁移到阿里云 EDAS仅需要对配置文件进行修改,
对依赖包和对接服务修改后可以直接部署在 EDAS平台。
⚫ 通过应用部署到 EDAS平台,利用 EDAS提供的配置管理、服务注册、限流降级
能力,实现更稳定和高效的应用服务能力。
⚫ 通过应用部署到 EDAS平台,利用 EDAS提供的调用链分析、ARMS应用监控能
力,方便定位应用的错误,优化应用的运维。
文档版本:20200106 1
7Spring Cloud Netflix应用迁移 EDAS 前置条件
前置条件
在执行本文操作前,请完成以下准备工作:
⚫ 注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页
面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成实名
认证。
⚫ 阿里云账户余额大于 100 元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
文档版本:20200106 2
8Spring Cloud Netflix应用迁移 EDAS 演示环境说明
演示环境说明
⚫ 为了便于演示,本文中涉及资源开通时,均默认选择按量付费模式。
⚫ 本方案仅作为实践演示,具体情况请以用户实际需求为准。
文档版本:20200106 3