BpFile(id=181, bpId=132, name=Dubbo应用上云, author=null, keyword=Dubbo,MSE,ACK,ARMS,CADT, description=Dubbo应用上云,采用Docker部署,利用MSE提供Zookeeper服务注册,通过ARMS和AHAS服务提供运维监, position=null, ossUrl=bp-ZBL82UY67PZXU2C4.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
本最佳实践适用于企业自建 Dubbo 应用上云, 应
用采用 docker 方式部署, 降低部署成本。同时利
用 MSE 提供 Zookeeper 服务注册管理。 通过阿
里云的 ARMS 和 AHAS 服务提供应用监控和服务
限流管理,简化运维并提供服务的全生命周期管
理。
解决问题
1. 自建 dubbo 应用迁移上阿里云。
2. 应用部署在容器内降低成本。
3. 通过 MSE 提供 ZK 服务,提高稳定性。
4. 通过 ARMS/AHAS 提供监控和服务限流能力
产品列表
⚫ 容器服务 Kubernetes 版(ACK)
⚫ 微服务引擎(MSE)
⚫ 关系数据库服务(RDS)
⚫ 应用高可用服务(AHAS)
⚫ 应用实时监控服务(ARMS)
, templateId=Z4XV5WTJ7NLDHG4J, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=Z4XV5WTJ7NLDHG4J, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1
Dubbo应用上云 最佳实践
场景描述
业务架构图
本最佳实践适用于企业自建 Dubbo应用上云,应
用采用 docker方式部署,降低部署成本。同时利
用 MSE提供 Zookeeper服务注册管理。通过阿
里云的 ARMS和 AHAS服务提供应用监控和服务
限流管理,简化运维并提供服务的全生命周期管
理。
解决问题
1. 自建 dubbo应用迁移上阿里云。
2. 应用部署在容器内降低成本。
3. 通过 MSE提供 ZK服务,提高稳定性。
4. 通过 ARMS/AHAS提供监控和服务限流能力
产品列表
⚫ 容器服务 Kubernetes版(ACK)
⚫ 微服务引擎(MSE)
⚫ 关系数据库服务(RDS)
⚫ 应用高可用服务(AHAS)
⚫ 应用实时监控服务(ARMS)
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
Dubbo应用上云
最佳实践
文档版本:20200116
文档版本:20150122(发布日期)
II
3Dubbo应用上云 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 Dubbo应用上云最佳实践
文档编号 132
文档版本 V1.1
版本日期 2020-01-16
文档状态 -
制作人 久诚
审阅人 -
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-01-15 久诚 弦望、宋宇 创建
V1.1 2020-01-16 筱晖 - 文档优化
文档版本:20200116 I
4Dubbo应用上云 前言
前言
概述
本实践针对使用了阿里开源服务框架 Dubbo的应用,提供迁移上阿里云的解决方案。
在云上使用 Docker部署方式,节约资源成本,提高弹性能力,同时利用 MSE微服务
引擎提供的 Zookeeper服务方便服务生命周期管理。
应用范围
⚫ 适用于自建 Dubbo应用迁移到阿里云,采用容器化部署(ACK)方式。
⚫ 通过 MSE提供的 Zookeeper简化服务注册的部署和管理。
⚫ 通过 ARMS/AHAS服务提供对应用的监控和限流降级能力。
名词解释
⚫ 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
⚫ MSE:微服务引擎 ( MSE ) 是开源注册、配置中心的全托管平台,提供高可用、
免运维的 ZooKeeper、Nacos 注册中心 和 Eureka 等集群,完全兼容开源产品
标准接口,无需修改代码、开箱即用,并为客户提供相应的监控和运维工具。更多
信息,请参见:https://www.aliyun.com/product/mse
⚫ ACK:容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理
能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络
和安全能力,打造云端最佳容器化应用运行环境。更多信息,请参见:
https://www.aliyun.com/product/kubernetes
⚫ RDS:Relational Database Service,简称 RDS,是一种稳定可靠、可弹性伸缩
的在线数据库服务。基于阿里云分布式文件系统和 SSD盘高性能存储,RDS支
文档版本:20200116 III
5Dubbo应用上云 前言
持 MySQL、SQL Server、PostgreSQL、PPAS和 MariaDB引擎,提供了容灾、
备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。更
多信息,请参见:https://www.aliyun.com/product/rds/mysql
⚫ ARMS:应用实时监控服务 (Application Real-Time Monitoring Service, 简称
ARMS) 是一款应用性能管理产品,包含前端监控,应用监控和 Prometheus监控
三大子产品,涵盖了浏览器,小程序,APP,分布式应用和容器环境等性能管理,
能帮助你实现全栈式的性能监控和端到端的全链路追踪诊断, 让应用运维从未如
此轻松高效。更多信息,请参见:https://www.aliyun.com/product/arms
⚫ AHAS: 应用高可用服务(Application High Availability Service)是一款专注于提
高应用高可用能力的云工具产品,提供应用架构自动探测,故障注入式高可用能
力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。更多信息,请
参见:https://www.aliyun.com/product/ahas
文档版本:20200116 IV
6Dubbo应用上云 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................. V
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 2
演示环境说明 ............................................................................................................................................................. 3
1. 模拟 Dubbo应用 ................................................................................................................................................ 4
1.1. 方案概述 ............................................................................................................................................. 4
1.2. 部署网络环境 ..................................................................................................................................... 4
1.2.1. 创建专有网络 VPC ...................................................................................................................... 4
1.2.2. 创建云服务器 ECS ....................................................................................................................... 7
1.3. 安装 Zookeeper ................................................................................................................................. 11
1.4. 安装 MySQL数据库 .......................................................................................................................... 12
1.5. 配置和部署 Dubbo应用 ................................................................................................................... 14
2. Dubbo应用改造 ............................................................................................................................................... 17
2.1. 应用配置修改 ................................................................................................................................... 17
2.2. 创建镜像描述文件 ........................................................................................................................... 18
3. 部署 Dubbo云应用 .......................................................................................................................................... 20
3.1. 创建云上网络环境 VPC .................................................................................................................... 20
3.2. 申请微服务引擎 MSE服务 .............................................................................................................. 22
3.3. 创建并配置 RDS实例 ....................................................................................................................... 25
3.4. 创建 Kubernetes集群 ....................................................................................................................... 35
3.5. 制作镜像 ........................................................................................................................................... 41
3.5.1. 创建并配置镜像仓库 ............................................................................................................... 41
3.5.2. 创建虚拟机 ............................................................................................................................... 45
3.5.3. 制作镜像 ................................................................................................................................... 49
3.6. 部署应用和服务 ............................................................................................................................... 51
3.7. 验证应用功能 ................................................................................................................................... 56
3.8. 配置 AHAS服务 ................................................................................................................................ 56
3.8.1. 配置架构探查能力 ................................................................................................................... 56
3.8.2. 配置限流能力 ........................................................................................................................... 58
3.9. 创建并配置 ARMS服务 .................................................................................................................... 61
文档版本:20200116 V
7Dubbo应用上云 最佳实践概述
最佳实践概述
方案架构
⚫ 自建 Dubbo应用迁移上阿里云
⚫ 迁移后采用容器方式部署,节约成本、增加弹性
⚫ 通过 MSE提高微服务生命周期的管理能力
⚫ 通过 ARMS,AHAS服务提高微服务运维能力
方案优势
⚫ 提供线下 Dubbo应用上云的方案,上云后采用容器部署,节约成本并增加弹
性。
⚫ 使用 MSE提供的 Zookeeper为 Dubbo应用提供生命周期管理能力。
⚫ 使用 ARMS和 AHAS为微服务提供监控和限流降级管理能力。
文档版本:20200116 1
8Dubbo应用上云 前置条件
前置条件
在进行本文操作前,您需要完成以下准备工作:
⚫ 注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页
面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成实名
认证。
⚫ 阿里云账户余额大于 100 元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
文档版本:20200116 2