更新时间:2024-09-26 GMT+08:00
Spring Cloud Eureka应用接入Nacos引擎
本章节通过一个demo进行全流程的Spring Cloud Eureka应用接入Nacos引擎操作演示。
将使用一个provider服务和一个consumer服务接入Nacos引擎。
约束限制
- Nacos对Eureka的兼容,主要是兼容Eureka服务端侧的API,将服务侧注册的客户端实例信息进行保存与刷新,因此如果您仅使用Eureka作为注册中心,那么Nacos的诸多特性如命名空间和配置管理是不能使用的。
- 使用Eureka作为客户端,仅能在Nacos的“服务管理”中进行查阅,Eureka服务均使用Nacos的默认属性进行展示,即:
- 默认命名空间:public。
- 默认分组名称:DEFAULT_GROUP。
- 在Nacos中在“服务管理”页面创建服务的“保护阈值”设置的值属于Nacos的特性,无法作用于Eureka服务。
Spring Cloud Eureka应用接入Nacos引擎
- 登录微服务引擎控制台。
- 获取Nacos引擎注册发现地址。
- 修改demo中的注册中心地址和微服务名。
- 在“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 //拉取注册中心间隔(建议与心跳间隔一致)
- 在下载到本地的demo源码目录中找到“eureka-demo-master\eureka-consumer\src\main\resources\application.properties”文件,配置consumer服务:
- 在“application.properties”中配置Nacos的服务注册发现地址和微服务名。
- 打包demo源码成jar包。
- 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。
- 编译成功后,生成如表1所示的两个Jar包。
- 部署SpringCloud应用。
将微服务Provider和Consumer部署至Nacos引擎所在VPC的ECS节点。
- 请参考购买并登录Linux弹性云服务器在引擎实例所属VPC下创建一台ECS节点并登录。
- 安装JRE,为服务提供运行环境。
- 将4生成JAR包上传至ECS节点。
- 执行命令:java -jar {对应jar包},运行生成的JAR包。
- 确认部署结果。
- 可选:在微服务引擎控制台页面,在左侧导航栏选择“注册配置中心”,单击前提条件中创建的Nacos引擎。
- 选择“服务管理”,查看微服务eureka-client-consumer和eureka-client-provider的实例数量。
- 若实例数量值不为0,则表示已经成功接入Nacos引擎。
- 若实例数量为0,或者找不到eureka-client-consumer和eureka-client-provider服务名,则表示微服务应用接入Nacos引擎失败。
父主题: 注册配置中心