全部产品

连接 SOFA 服务注册中心

在使用服务网格之前,您需要将本地工程接入 SOFA 服务注册中心,完成服务注册。本文介绍如何把微服务接入 SOFA 服务注册中心。

下面根据微服务类型,详细介绍以下三种微服务如何接入 SOFA 服务注册中心,即 SOFARegistry,完成服务注册。

SOFABoot 服务

  1. 升级 SOFABoot 依赖版本至最新版本。版本信息,详见 SOFABoot 版本说明

    <parent>
         <groupId>com.alipay.sofa</groupId>
         <artifactId>sofaboot-enterprise-dependencies</artifactId>
         <version>3.x.x</version>
    </parent>
  2. 通过以下任一方式,添加应用启动参数:

    • app/web/src/main/resources/config 下的 application.properties 文件中新增如下配置:

      说明

      这种方式是把信息配置在代码里。

      com.alipay.env=shared
      com.alipay.instanceid=// 需要填写
      com.antcloud.antvip.endpoint=// 需要填写
      com.antcloud.mw.access=// 需要填写
      com.antcloud.mw.secret=// 需要填写

    • 指定 JVM 启动参数值:

      说明

      这种方式是把信息配置在启动的 JVM 里,优先级高于代码。

      -Dcom.alipay.env=shared
      -Dcom.alipay.instanceid=// 需要填写
      -Dcom.antcloud.antvip.endpoint=// 需要填写
      -Dcom.antcloud.mw.access=// 需要填写
      -Dcom.antcloud.mw.secret=// 需要填写

      在 IntelliJ IDEA 中的配置示例如下截图:

      JVM 配置
      说明

      以上参数值是中间件的全局配置项,可在 脚手架控制台 获取,详情请参见 引入 SOFA 中间件 > 中间件全局配置

      脚手架

Dubbo 服务

  1. 引入 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. 引入 Tracer 依赖。Tracer 针对 Dubbo 框架提供 3 种方式接入,分别针对 Spring Boot 1.x、Spring Boot 2.x 和非 Spring Boot 类型的 Dubbo 应用。根据您的实际业务需求,选择相应的 Tracer 依赖接入。

    • 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 BootTracer 依赖信息和与上文 Spring boot 2.x 相同。引入后,还需要在代码 Main 启动入口第一行加入以下开关:

      SofaTracerConfiguration.setProperty(SofaTracerConfiguration.JSON_FORMAT_OUTPUT,"false");
  3. 配置 Dubbo 的注册中心,使用 dsr:<dubbo:registry address="dsr://dsr"/>

  4. 通过以下任一方式,添加应用启动参数:

    • 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=// 需要填写
      说明

      以上参数值是中间件的全局配置项,可在 脚手架控制台 获取,详情请参见 引入 SOFA 中间件 > 中间件全局配置

Spring Cloud 服务

  1. 引入以下 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=
      说明

      以上参数值是中间件的全局配置项,可在 脚手架控制台 获取,详情请参见 引入 SOFA 中间件 > 中间件全局配置

      本地应用改造完成后,您即可将该应用发布部署至 容器应用服务经典应用服务(仅专有云)。详情的部署步骤请参见 服务网格快速入门