华为云CAE部署spring cloud服务
1 概述
华为云CAE(Cloud Application Engine云应用引擎)是一个面向WEB、微服务应用的Serverless托管服务,提供极速部署、极低成本、极简运维的一站式应用托管方案。支持从源码、软件包、镜像包快速发布应用,秒级弹性伸缩、按量付费。可做到基础设施免运维,根据可观测的运行指标对应用进行生命周期管理。
官方文档:
https://support.huaweicloud.com/productdesc-cae/cae_01_0001.html
2 环境
微服务有api-gateway、consumer、provider。
2.1 准备容器镜像
将以下容器镜像推送到你的华为云SWR实例中:
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-api-gateway:latest
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-consumer-nacos-demo:latest
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-provider-nacos-demo:latest
2.2 准备华为云负载均衡器ELB
ELB是用于暴露部署在CAE环境里的容器,在本文就是api-gateway服务。
2.3 准备华为云APM应用
spring cloud微服务容器使用java探针,将调用链信息上传到华为云托管的APM服务端。在此处新建一个APM应用即可。
2.4 准备华为云托管版nacos服务
3 部署
3.1 api-gateway服务部署
3.1.1 创建组件
3.1.2 配置组件
-
配置健康检查:
-
配置负载均衡器:
-
配置APM:
-
配置nacos
- 配置环境变量
将环境变量NACOS_SERVER设置成托管版的nacos实例的内网域名,如下图:
- 配置负载均衡器
负载均衡用于暴露api-gateway服务,以便外界(例如一台独立的ECS)进行统一访问。
3.1.3 启动组件
[ 组件配置 ] --> 选择组件 --> [ 生效配置 ]。
[ 组件实例] --> [ 启动 ]。
3.2 provider服务部署
3.2.1 创建组件
3.2.2 配置组件
- 配置健康检查
-
配置APM:
-
配置nacos
- 配置环境变量
将环境变量NACOS_SERVER设置成托管版的nacos实例的内网域名,如下图:
3.2.3 启动组件
启动组件
[ 组件配置 ] --> 选择组件 --> [ 生效配置 ]。
[ 组件实例] --> [ 启动 ]。
3.3 consumer服务部署
3.3.1 创建组件
3.3.2 配置组件
- 配置健康检查
-
配置APM:
-
配置nacos
- 配置环境变量
将环境变量NACOS_SERVER设置成托管版的nacos实例的内网域名,如下图:
3.3.3 启动组件
启动组件
[ 组件配置 ] --> 选择组件 --> [ 生效配置 ]。
[ 组件实例] --> [ 启动 ]。
3.4 部署结果
在CAE控制台,可以看见组件部署成功:
在托管的nacos实例中,可以看见微服务已完成注册。
在APM服务中,可以看见JAVA探针成功将数据回传到服务端。
4 测试
在相同VPC下开启一台ECS,浏览器访问api-gateway服务的接口/consumer//consumer/call,可见得到正确响应:
APM工具中也能看见调用链路:
5 小结
本文介绍将spring cloud服务部署在华为云CAE中,CAE屏蔽了kubernetes中的许多概念,对于未上kubernetes但已容器化的客户是一种明显优势。