2023nacos源码解读第3集——nacos-client核心功能之微服务调用和配置管理测试

news/2024/10/22 9:39:38/

文章目录

  • 1、测试项目
  • 2、项目注意事项
  • 3、 测试核心功能
    • 3.1 测试服务调用与负载均衡
    • 3.2 测试配置监听
  • 4、参考文档

1、测试项目

项目地址
nacos-service-a
nacos-service-b

2、项目注意事项

  • 项目初始化可以使用aliyun spring initializer ,以更方便的使用springcloud alibaba的最新微服务组件(避免一些麻烦如springboot springcloud alibaba的版本匹配),网页下载导入或修改IDEA 的默认spring initializer均可
  • 这里选用了springboot3,有一些注意点:需要较高的IDEA 2021+,jdk用的open jdk17,javax相关包改为jakarta的
  • 微服务调用这里直接用RestTemplate,没有引入原spring cloud的open-feign组件,但还是无法避免需要使用原spring cloud的spring-cloud-starter-loadbalancer组件(因为没有配置原生spring cloud 大pom,需要指定一下版本号),否则nacos-service-b调用nacos-service-a无法解析域名UnknownHostException
    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client  2.2.1版本无法兼容--><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.3.0-BETA</version></dependency></dependencies></dependencyManagement>
  • 如上引入的springcloud alibaba引入的nacos-client版本是2.2.1,并不能兼容nacos-server 2.3.0BATA,故需要锁定nacos-client的版本为2.3.0-BETA

3、 测试核心功能

3.1 测试服务调用与负载均衡

nacos-service-b(只启动一个实例)的http://localhost:9000/remote-port接口远程调用nacos-service-a(启动了两个实例,注意配置文件配置的springboot动态端口server.port=${random.int(8000,8005)})的/port接口 (默认为轮询负载均衡策略)
在这里插入图片描述
在这里插入图片描述

3.2 测试配置监听

nacos页面新增配置,对应项目配置的spring.config.import=nacos:nacos-config-example.properties?refresh=true
在这里插入图片描述
监听到keys changed后refresh
在这里插入图片描述
nacos-service-a的两个实例的http://localhost:8004/user都拿到了新值
在这里插入图片描述
在这里插入图片描述

4、参考文档

spring-cloud-alibaba GIT仓库

spring-cloud-alibaba 官方文档

nacos官方手册

Nacos 架构 & 原理 👈源码解读重点参考


http://www.ppmy.cn/news/1217786.html

相关文章

vscode使用flake8设置单行最长字符限制设置失败的问题

vscode使用flake8设置单行最长字符限制设置失败的问题 问题描述解决方案 问题描述 如图所示&#xff0c;使用flake8单行字数过长&#xff0c;就会有有红色底的波浪线 一般情况下很多教程都会让你在setting.json里面设置 但是我打开我的setting.json&#xff0c;发现我已经进…

Java怎么对复杂的数据类型排序和比大小

目录 一.对复杂的数据类型比大小 Comparable接口 compareTo方法 二.对复杂数据类型排序 三.总结 一.对复杂的数据类型比大小 假如我们现在有个学生类&#xff0c;并且我们实例化出了俩个学生对象&#xff0c;他们各自有各自的名字和年龄属性&#xff0c;我们如何对他们进…

H5游戏源码分享-超级染色体小游戏

H5游戏源码分享-超级染色体小游戏 游戏玩法 不断地扩大发展同颜色的色块 用最少的步数完成游戏 <!DOCTYPE html> <html><head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width,user-scalableno,init…

Linux 系统概述

Part I: Linux 系统概述 什么是 LinuxLinux 的历史和版本Linux 发行版介绍Linux 的优缺点 Part II: Linux 安装与配置 5. 硬件要求与准备工作 6. 安装 Linux 操作系统 7. Linux 系统初始化设置 8. Linux 系统更新与升级 9. Linux 基础配置 Part III: Linux 命令行 10. Linux…

数据结构:反射

基本概念 反射中的四个类 Class类 Java文件在被编译之后&#xff0c;生成了.class文件&#xff0c;JVM此时解读.class文件&#xff0c;将其解析为java.lang.Class 对象&#xff0c;在程序运行时每个java文件就最终变成了Class类对象的一个实例。通过反射机制应用这个 实例就…

Domino为外出Internet邮件设置DKIM签名

大家好&#xff0c;才是真的好。 如果你看了上篇《Domino中和邮件安全有关的SPF、DKIM介绍》内容&#xff0c;想必就对DKIM概念不陌生&#xff0c;当然&#xff0c;上篇我们讲的是邮件入站的SFP、DKIM签名检查&#xff0c;这篇讲述的是外出邮件的DKIM签名。 是的&#xff0c;…

LoadRunner Error -26377: No match found for the requested parameter 获取参数的方法要前置

web_reg_save_param("access_token","LBaccess_token\":\"", //获取返回参数左右边界值时&#xff1a;有"双引号时,需要使用\来进行转义"RB\",","SearchBody",LAST);web_reg_save_param("token_type&q…

【python 生成器 面试必备】yield关键字,协程必知必会系列文章--自己控制程序调度,体验做上帝的感觉 3完结

In this article we’ll see how we can close generators and throw exceptions to generators. If you want to know what is a generator, sending values to generator, you can look at part I and part II of the yield series respectively. 这篇文章我们讲学习close 生…