全部产品

Spring Cloud 使用 SOFARegistry

本文介绍如何改造本地 Spring Cloud 工程,将其接入 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 文件。settings

操作步骤

本地开发

本地业务开发主要分成下述几个步骤:

  1. 在工程根目录下的 pom.xml 中,引入 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>
  2. 根据您的 Spring Cloud 版本信息,引入对应的 Tracer 依赖。

    • Spring Cloud:Camden、Dalston 和 Edgware 版本(对应 Spring Boot 1.x 版本)

      <!-- 支持服务调用tracer日志记录能力 -->
      <!-- 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 Cloud:Finchley、Greenwich 版本(对应 Spring Boot 2.x 版本)

      <!-- 接入tracer -->
      <!-- 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>
  3. 通过以下任一方式,添加应用启动参数。

    注意

    如您即将使用的应用服务发布平台不是 SOFAStack 自提供的容器应用服务或经典应用服务,则无需添加以下参数配置。

    • 在应用 yml 文件指定参数:

      sofa:
      registry:
        discovery:
              instanceId:// 需要填写
              antcloudVip:// 需要填写
              accessKey:// 需要填写
              secretKey:// 需要填写
    • 指定 JVM 启动参数值:

      -Dcom.alipay.instanceid=// 需要填写
      -Dcom.antcloud.antvip.endpoint=// 需要填写
      -Dcom.antcloud.mw.access=// 需要填写
      -Dcom.antcloud.mw.secret=// 需要填写
    • 指定系统环境变量:

      SOFA_INSTANCE_ID=
      SOFA_ANTVIP_ENDPOINT=
      SOFA_SECRET_KEY=
      SOFA_ACCESS_KEY=
      说明

      以上参数(instanceId,antcloudVip,accessKey 及 secretKey)是中间件的全局配置项,参数值均可在 SOFAStack > 脚手架 > Step 2 控制台获取。更多详情参见 引入 SOFA 中间件 > properties 配置项。

  4. 业务代码的编写。

发布应用

说明

如您需要在其他发布平台(非 SOFAStack 容器应用服务或经典应用服务)发布部署应用,请参考对应发布平台的帮助文档。

  1. 前往 经典应用服务 发布应用,详见 应用部署

  2. 应用发布后,即可前往 中间件 > 微服务平台 > 微服务 > 服务管控 控制台页面查看发布的服务。微服务

查看日志

查看日志,可参考下述信息:

  • 日志存放目录: {user.dir}/logs/tracelog

  • 主要日志:{user.dir}/logs/spring.log