文档首页/ 微服务引擎 CSE/ 最佳实践/ 注册配置中心/ Spring Cloud Eureka应用接入Nacos引擎
更新时间:2024-09-26 GMT+08:00

Spring Cloud Eureka应用接入Nacos引擎

本章节通过一个demo进行全流程的Spring Cloud Eureka应用接入Nacos引擎操作演示。

将使用一个provider服务和一个consumer服务接入Nacos引擎。

前提条件

  • 已创建Nacos引擎,具体操作请参考创建注册配置中心
  • 下载github的demo源码到本地并解压。
  • 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。

约束限制

  • Nacos对Eureka的兼容,主要是兼容Eureka服务端侧的API,将服务侧注册的客户端实例信息进行保存与刷新,因此如果您仅使用Eureka作为注册中心,那么Nacos的诸多特性如命名空间和配置管理是不能使用的
  • 使用Eureka作为客户端,仅能在Nacos的“服务管理”中进行查阅,Eureka服务均使用Nacos的默认属性进行展示,即:
    • 默认命名空间:public
    • 默认分组名称:DEFAULT_GROUP
  • 在Nacos中在“服务管理”页面创建服务的“保护阈值”设置的值属于Nacos的特性,无法作用于Eureka服务。

Spring Cloud Eureka应用接入Nacos引擎

  1. 登录微服务引擎控制台
  2. 获取Nacos引擎注册发现地址。

    1. 在左侧导航栏选择“注册配置中心”,单击创建的Nacos引擎实例。
    2. 在“基础信息”页面的“连接信息”区域,获取注册发现地址。

  3. 修改demo中的注册中心地址和微服务名。

    1. 在“application.properties”中配置Nacos的服务注册发现地址和微服务名。
      • 在下载到本地的demo源码目录中找到“eureka-demo-master\eureka-consumer\src\main\resources\application.properties”文件,配置consumer服务:
        server.port=9001
        spring.application.name=eureka-client-consumer //微服务名
        eureka.client.serviceUrl.defaultZone= XXX.nacos.cse.com:8848/nacos/eureka //nacos的服务注册发现地址
        eureka.instance.lease-renewal-interval-in-seconds=15 //服务心跳刷新间隔
        eureka.client.registry-fetch-interval-seconds=15 //拉取注册中心间隔(建议与心跳间隔一致)
      • 在下载到本地的demo源码目录中找到“eureka-demo-master\eureka-provider\src\main\resources\application.properties”文件,配置provider服务:
        server.port=9000
        spring.application.name=eureka-client-provider //微服务名
        eureka.client.serviceUrl.defaultZone= XXX.nacos.cse.com:8848/nacos/eureka //nacos的服务注册发现地址
        eureka.instance.lease-renewal-interval-in-seconds=15 //服务心跳刷新间隔
        eureka.client.registry-fetch-interval-seconds=15 //拉取注册中心间隔(建议与心跳间隔一致)

  4. 打包demo源码成jar包。

    1. 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。
    2. 编译成功后,生成如表1所示的两个Jar包。
      表1 软件包列表

      软件包所在目录

      软件包名称

      说明

      \eureka-consumer\target

      eureka-client-consumer-1.0.0-SNAPSHOT.jar

      服务消费者

      \eureka-provider\target

      eureka-client-provider-1.0.0-SNAPSHOT.jar

      服务生产者

  5. 部署SpringCloud应用。

    将微服务Provider和Consumer部署至Nacos引擎所在VPC的ECS节点。
    1. 请参考购买并登录Linux弹性云服务器在引擎实例所属VPC下创建一台ECS节点并登录。
    2. 安装JRE,为服务提供运行环境。
    3. 4生成JAR包上传至ECS节点。
    4. 执行命令:java -jar {对应jar包},运行生成的JAR包。

  6. 确认部署结果。

    1. 可选:在微服务引擎控制台页面,在左侧导航栏选择“注册配置中心”,单击前提条件中创建的Nacos引擎。
    2. 选择“服务管理”,查看微服务eureka-client-consumer和eureka-client-provider的实例数量。
      • 若实例数量值不为0,则表示已经成功接入Nacos引擎。
      • 若实例数量为0,或者找不到eureka-client-consumer和eureka-client-provider服务名,则表示微服务应用接入Nacos引擎失败。