Dubbo 3.0实现了和HSF框架的技术统一。所以,在EDAS中,可以便捷的将HSF应用升级为Dubbo 3.0应用。升级之后,HSF应用可沿用原有开发方式,还可以使用EDAS为Dubbo应用提供的更加完善的服务治理功能。
背景信息
EDAS对Dubbo应用的服务治理更加完善,且会不断通过迭代进行更新。所以,如果HSF应用想使用更加完善的服务治理能力,可以升级为Dubbo 3.0应用。
一个HSF应用包含应用程序以及应用运行环境(EDAS-Container)。EDAS-Container包含Java环境、Ali-Tomcat和Pandora。EDAS-Container 4.x版本,正是Dubbo 3.0的商业化输出形式之一。在EDAS控制台将HSF应用的Pandora升级为4.0.0版本,即可将HSF应用升级为Dubbo 3.0应用。
EDAS为Dubbo应用提供了一系列服务治理功能。
重要 请先在测试环境进行升级并验证,然后再升级线上应用。
将ECS集群中的HSF应用升级为Dubbo 3.0应用
将K8s集群中的HSF应用升级为Dubbo 3.0应用
HSF应用可以通过WAR包部署,也可以通过镜像部署。本文分别介绍WAR包和镜像部署在K8s集群中的应用如何升级到Dubbo 3.0。
将WAR包部署的HSF应用升级到Dubbo 3.0
- 登录EDAS控制台。
- 在左侧导航栏单击应用列表。
- 在应用列表页面顶部菜单栏选择地域,在页面上方选择微服务空间,在集群类型的下拉列表中选择容器服务/Serverless K8s集群,然后单击目标HSF应用的应用名称。
- 在基本信息页面右上角选择部署应用。
- 在部署模式选择页面分批发布区域单击开始部署。
- 在分批发布页面将应用运行环境设置为EDAS-Container 4.0.0【支持FatJar部署】,根据实际需求设置其它参数,然后单击确定。其它参数的设置说明,请参见使用控制台分批发布应用(K8s)。应用部署大概需要几分钟时间。您可以在应用变更详情中查看变更进度,具体操作,请参见查看变更详情。
将镜像部署的HSF应用升级到Dubbo 3.0
EDAS中推荐您使用Dockerfile构建镜像,所以本文也以Dockerfile为例介绍如何将HSF应用升级为Dubbo 3.0应用。构建HSF应用镜像的Dockerfile示例,请参见HSF应用的Dockerfile示例。
# Using the centos7 + openjdk8 + ali tomcat7 + pandora 3.5.9 for the base
FROM apaas/edas-centos-openjdk8-alitomcat7:latest
MAINTAINER Alibaba Cloud EDAS Team<edas-dev@list.alibaba-inc.com>
ENV TZ="Asia/Shanghai"
# Default put your application package into /home/admin/app/
ENV APP_HOME /home/admin/app/
#####----> First case: deploy a fat-jar file
ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.jar
#####----> Second case: deploy a war file, simply change the file name your wanted.
#ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.war
#####----> Third case: deploy a local storage file.
#ARG APP_LOCATION=/Users/yanliang.lyl/workspace/java/demo/HSF_PROVIDER.war
# Then download to package into /home/admin/app/
ADD ${APP_LOCATION} ${APP_HOME}/
# Default working dir is set to /home/admin
# WORKDIR /home/admin
# Entry point set to /home/admin/bin/start.sh,
# which including inside basic image (apaas/edas-centos-openjdk8-alitomcat8)
# CMD ["/home/admin/bin/start.sh"]
- 在HSF应用的Dockerfile文件中增加如下配置,将HSF应用的运行环境EDAS-Container(Pandora)的版本升级为4.0.0。
# 设置 EDAS-Container/Pandora 应用容器版本 ENV UPGRADED_CONTAINER_VERSION 4.0.0 RUN /home/admin/bin/upgradecontainer.sh
- 进入Dockerfile所在的目录,执行docker build命令构建镜像。
docker build -t [标签名称,最好取应用名]:[版本号] . 或docker build -t [标签名称,最好取应用名]:[版本号] -f /path/to/custom_dockerfile_name . # 假如您创建好的Dockerfile在其他位置或名称不为Dockerfile时适用。
例如:
docker build -t hsf-provider:1.0.0 .
- 执行
docker images | grep<镜像标签名称>
命令查看本地打包好的镜像。 - 将本地镜像上传到镜像仓库。推荐您使用阿里云的容器镜像服务ACR,上传镜像的具体操作,请参见使用企业版实例推送和拉取镜像。
- 将构建好的Dubbo 3.0应用镜像部署到EDAS的K8s集群中。具体操作,请参见在K8s环境中通过镜像部署微服务应用。
结果验证
将HSF应用升级为Dubbo 3.0应用后,可以在微服务治理的HSF和Dubbo两个框架下看到对应的服务列表。也可以对升级后的Dubbo应用进行服务治理验证。