全部产品
云市场

Spring Cloud 连接 SOFA 注册中心

更新时间:2020-01-10 14:09:57

本教程介绍如何将改造本地 Spring Cloud 工程,将其接入 SOFA 服务注册中心。

前置条件

在进行开发前,您需要确认本地 Maven 配置文件 ~/.m2/settings.xml 中已配置 mvn.cloud.alipay.com 仓库的地址及用户名密码。配置后,工程才可以通过 Maven 获取 mvn.cloud.alipay.com 仓库里注册中心的 JAR 包。配置示例如下:

  1. <servers>
  2. <server>
  3. <id>nexus-server@public</id>
  4. <username>${username}</username>
  5. <password>${password}</password>
  6. </server>
  7. <server>
  8. <id>nexus-server@public-snapshots</id>
  9. <username>${username}</username>
  10. <password>${password}</password>
  11. </server>
  12. <server>
  13. <id>mirror-all</id>
  14. <username>${username}</username>
  15. <password>${password}</password>
  16. </server>
  17. </servers>

您可以前往 SOFAStack > 脚手架 > Step 3 控制台页面,直接下载已配置好的 settings.xml,并前往 Maven 安装目录 ~/.m2/ 覆盖原有配置文件。
settings

操作步骤

微服务与服务网格模式下的 Spring Cloud 服务注册相同,两个模式主要区别如下:

  • 微服务要求在 经典应用服务 发布部署应用。
  • 服务网格同时支持在 容器应用服务经典应用服务 发布应用。

开发应用

  1. pom.xml 文件中,引入以下 SDK 依赖:
    1. <dependency>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>sofa-registry-cloud-all</artifactId>
    4. <version>1.2.2</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>com.alipay.sofa</groupId>
    8. <artifactId>tracer-enterprise-sofa-boot-starter</artifactId>
    9. <version>3.0.4</version>
    10. <exclusions>
    11. <exclusion>
    12. <artifactId>config-common</artifactId>
    13. <groupId>com.alipay.configserver</groupId>
    14. </exclusion>
    15. <exclusion>
    16. <artifactId>fastjson</artifactId>
    17. <groupId>com.alibaba</groupId>
    18. </exclusion>
    19. </exclusions>
    20. </dependency>
    21. <dependency>
    22. <artifactId>config-common</artifactId>
    23. <groupId>com.alipay.configserver</groupId>
    24. <version>4.3.2.alipay</version>
    25. </dependency>
  2. 检查是否存在以下依赖,如存在,需将其移除:
    1. <dependency>
    2. <groupId>org.springframework.cloud</groupId>
    3. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    4. </dependency>
  3. 通过以下任一方式,添加应用启动参数:
    • 在应用 yml 文件指定参数:
      1. sofa:
      2. registry:
      3. discovery:
      4. instanceId: // 需要填写
      5. antcloudVip: // 需要填写
      6. accessKey: // 需要填写
      7. secretKey: // 需要填写
    • 指定 JVM 启动参数值:
      1. -Dsofa.registry.discovery.instanceId= // 需要填写
      2. -Dsofa.registry.discovery.antcloudVip= // 需要填写
      3. -Dsofa.registry.discovery.accessKey= // 需要填写
      4. -Dsofa.registry.discovery.secretKey= // 需要填写
    • 指定系统环境变量:
      1. SOFA_INSTANCE_ID= // 需要填写
      2. SOFA_ANTVIP_ENDPOINT= // 需要填写
      3. SOFA_SECRET_KEY= // 需要填写
      4. SOFA_ACCESS_KEY= // 需要填写
      参数说明:以上参数(instanceId,antcloudVip,accessKey 及 secretKey)是中间件的全局配置项,参数值均可在 脚手架 控制台获取。详见 引入 SOFA 中间件 > 中间件全局配置脚手架

发布部署应用

微服务

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

Service Mesh 微服务

  1. 将工程打包成镜像,详见 镜像构建
  2. 前往 容器应用服务经典应用服务 发布应用,详见 快速入门
  3. 应用发布后,即可前往 中间件 > 微服务平台 > 服务网格 > 服务管控 控制台,验证查看发布的服务。查看发布的服务

查看日志

如需查看应用相关日志,可前往 {user.dir}/logs/tracelog 目录或查看 {user.dir}/logs/spring.log

相关链接