• Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka


    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作《Spring Cloud Alibaba迁移指南》系列文章,向开发者提供更多的技术选型方案,并降低迁移过程中的技术难度。

    第二篇,Spring Cloud Alibaba 实现了 Spring Cloud 服务注册的标准规范,这就天然的给开发者提供了一种非常便利的方式将服务注册中心的 Eureka 迁移到开源的 Nacos 。 

    第一篇回顾:一行代码从 Hystrix 迁移到 Sentinel

    零代码使用 Nacos 替换 Eureka

    如果你需要使用 Spring Cloud Alibaba 的开源组件 __spring-cloud-starter-alibaba-nacos-discovery__ 来替换 Eureka。需要完成以下几个简单的步骤即可。

    1. __本地需要安装 Nacos。__Nacos 的安装方式也是极其的简单,参考 Nacos 官网。假设现在已经正常启动了 Nacos 。
    2. __添加 Nacos 的 pom 依赖,同时去掉 Eureka。__ 在需要替换的工程目录下找到 maven 的配置文件 pom.xml。添加如下的 pom 依赖:

      <dependencies>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
              <version>0.2.1.RELEASE</version>
          </dependency>
      </dependencies>
      同时将依赖的 __spring-cloud-starter-netflix-eureka-client__ pom 给去掉。 
    3. __application.properties 配置。__ 一些关于 Nacos 基本的配置也必须在 application.properties(也可以是application.yaml)配置,如下所示: application.properties:

      spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
      同时将和 Eureka 相关的配置删除。
    4. (可选) 更换 EnableEurekaClient 注解。 如果在你的应用启动程序类加了 EnableEurekaClient 注解,这个时候需要更符合 Spring Cloud 规范的一个注解 EnableDiscoveryClient 。

    直接启动你的应用即可。到目前为止,就已经完成了 “零行代码使用 Nacos 替换 Eureka”。

    完整的方式可参考 Spring Cloud Alibaba 的官方 Wiki 文档

    零代码使用 ANS 替换 Eureka

    如果你需要使用 Spring Cloud Alibaba 的商业化组件 __spring-cloud-starter-alicloud-ans__ 来替换 Eureka。也是仅需完成以下几个简单的步骤即可。

    1. __本地需要安装 轻量版配置中心。__ 轻量版配置中心的下载和启动方式可参考 这里。假设现在已经正常启动了轻量版配置中心 。
    2. __添加 ANS 的 pom 依赖,同时去掉 Eureka。__ 在需要替换的工程目录下找到 maven 的配置文件 pom.xml。添加如下的 pom 依赖:

      <dependencies>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-alicloud-ans</artifactId>
              <version>0.2.1.RELEASE</version>
          </dependency>
      </dependencies>
      同时将依赖的 __org.springframework.cloud:spring-cloud-starter-netflix-eureka-client__ pom 给去掉。 
    3. __(可选) application.properties 配置。__ 一些关于 ANS 基本的配置也可以在 application.properties(也可以是application.yaml)配置,如下所示: application.properties:

      spring.cloud.alicloud.ans.server-list=127.0.0.1
      spring.cloud.alicloud.ans.server-port=8080
      如果不配置的话,默认值就是 __127.0.0.1__ 和 __8080__ ,因此这一步是可选的。同时将和 Eureka 相关的配置删除。
    4. (可选) 更换 EnableEurekaClient 注解。 如果在你的应用启动程序类加了 EnableEurekaClient 注解,这个时候需要更符合 Spring Cloud 规范的一个注解 EnableDiscoveryClient 。

    代码层面不需要改动任何代码,直接启动你的应用即可。到目前为止,就已经完成了 “零代码使用 ANS 替换 Eureka”。

    完整的使用方式可参考 Spring Cloud Alibaba 的官方 Wiki 文档

     

    原文链接
    更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

  • 相关阅读:
    怎样做到长期写一个价值博客?
    linux中rz、rs命令无法执行的情况
    关于图床的选择方案(博客园、公众号、简书、CSDN)
    如何有效地记录和管理笔记(一)
    Linux之时间同步操作
    weblogic12.1.3 静默安装 建域
    在Linux 系统上运行多个tomcat
    Python 生成随机数
    异常处理

  • 原文地址:https://www.cnblogs.com/zhaowei121/p/10444250.html
Copyright © 2020-2023  润新知