本文介绍如何改造本地 Dubbo 工程,将其接入 SOFA 服务注册中心 SOFARegistry。
前置条件
在进行开发前,首先需要完成本地 Maven settings 中对 JAR 包仓库的配置,工程才可以通过 Maven 获取仓库里注册中心的 JAR 包。配置说明如下:
配置路径,见下述示例:
Windows 系统:
C:\Users\userName_XXX.m2\settings.xml
Mac or Linux 系统:
/Users/userName_XXX/.m2/settings.xml
注意Linux or Mac OS 系统上,.m2 目录可能被隐藏。Mac OS 可以通过
Command + Shift + .
进行查看;Linux 可以通过Ctrl + H
进行查看。配置内容:主要配置
mvn.cloud.alipay.com
仓库的地址及用户名密码,见下述示例。<servers> <server> <id>nexus-server@public</id> <username>${username}</username> <password>${password}</password> </server> <server> <id>nexus-server@public-snapshots</id> <username>${username}</username> <password>${password}</password> </server> <server> <id>mirror-all</id> <username>${username}</username> <password>${password}</password> </server> </servers>
您也可以前往 SOFAStack > 脚手架 > Step 3 控制台页面,下载已配置好的
settings.xml
,并前往上述配置路径,覆盖原有settings.xml
文件。
本地开发
本地业务开发主要分成下述几个步骤:
接入服务中心:微服务支持下述 2 种方式接入 SOFA 服务注册中心:
业务代码编写。
接入服务中心
2 种接入方式的详情,说明如下:
通过 sofa-registry-dubbo-all 依赖接入
主要操作步骤如下:
引入注册中心依赖。在根目录下的主
pom.xml
文件中添加以下依赖:<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-registry-dubbo-all</artifactId> <version>x.x.x</version> </dependency>
配置注册中心寻址参数。在
application.properties
文件中配置以下参数:spring.dubbo.registry.address=dsr://xxx:9003 spring.dubbo.registry.parameters[com.alipay.env]=shared spring.dubbo.registry.parameters[com.alipay.instanceid]=分配instanceid spring.dubbo.registry.parameters[com.antcloud.antvip.endpoint]=xxx spring.dubbo.registry.parameters[com.antcloud.mw.access]=key spring.dubbo.registry.parameters[com.antcloud.mw.secret]=value
说明以上参数(instanceId,antcloudVip,accessKey 及 secretKey)是中间件的全局配置项,参数值均可在 SOFAStack > 脚手架 > Step 2 控制台获取。更多详情参见 引入 SOFA 中间件 > properties 配置项。
通过 sofa-registry-cloud-all 依赖接入
主要操作步骤如下:
引入
sofa-registry-cloud-all
SDK 依赖。版本信息,参见 SDK 版本说明。<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-registry-cloud-all</artifactId> <!-- 替换 x.x.x 为该 SDK 最新版本号 --> <version>x.x.x</version> </dependency>
引入 Tracer 依赖。根据 Dubbo 应用框架版本的不同,Tracer 提供下述 3 种接入方式,请根据实际业务需求选择合适方式。
Spring Boot 1.x
Spring Boot 2.x
非 Spring Boot 类型的 Dubbo 应用。
Spring Boot 1.x
<!-- for Spring Boot 1.X --> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-enterprise-sofa-boot-starter</artifactId> <version>2.3.7.JST.1</version> <exclusions> <exclusion> <groupId>com.alipay.sofa.common</groupId> <artifactId>sofa-common-tools</artifactId> </exclusion> <exclusion> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-enterprise-dst-plugin</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alipay.sofa.common</groupId> <artifactId>sofa-common-tools</artifactId> <version>1.0.17</version> </dependency>
Spring Boot 2.x
<!-- for Spring Boot 2.X --> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-enterprise-sofa-boot-starter</artifactId> <version>3.2.3.JST.1</version> <exclusions> <exclusion> <groupId>com.alipay.sofa.common</groupId> <artifactId>sofa-common-tools</artifactId> </exclusion> <exclusion> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-enterprise-dst-plugin</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alipay.sofa.common</groupId> <artifactId>sofa-common-tools</artifactId> <version>1.0.17</version> </dependency>
非 Spring Boot 操作方式如下:
引入上文 Spring boot 2.x 相同依赖。
在代码中, Main 启动入口第一行加入以下开关:
SofaTracerConfiguration.setProperty(SofaTracerConfiguration.JSON_FORMAT_OUTPUT,"false");
配置 Dubbo 的注册中心,使用 dsr:
<dubbo:registry address="dsr://dsr"/>
通过以下任一方式,添加应用启动参数:
在
dubbo.properties
中配置下述属性:com.alipay.instanceid=// 需要填写 com.antcloud.antvip.endpoint=// 需要填写 com.antcloud.mw.access=// 需要填写 com.antcloud.mw.secret=// 需要填写
指定 JVM 启动参数值:
-Dcom.alipay.instanceid=// 需要填写 -Dcom.antcloud.antvip.endpoint=// 需要填写 -Dcom.antcloud.mw.access=// 需要填写 -Dcom.antcloud.mw.secret=// 需要填写
指定系统环境变量:
SOFA_INSTANCE_ID=// 需要填写 SOFA_ANTVIP_ENDPOINT=// 需要填写 SOFA_ACCESS_KEY=// 需要填写 SOFA_SECRET_KEY=// 需要填写
说明以上参数(instanceId,antcloudVip,accessKey 及 secretKey)是中间件的全局配置项,参数值均可在 SOFAStack > 脚手架 > Step 2 控制台获取。更多详情参见 引入 SOFA 中间件 > properties 配置项。
发布应用
对应用的发布及发布后的查询,说明如下:
将微服务发布至 经典应用服务 平台的步骤,请参见 应用部署。
应用发布后,可前往 中间件 > 微服务平台 > 微服务 > 服务管控 控制台页面查看发布的服务。
查看日志
相关日志存放路径为:{user.dir}/logs/tracelog/
。
在文档使用中是否遇到以下问题
更多建议
匿名提交