Eureka迁移到Nacos之服务名称大小问题解决

2023-11-19

我们应用往Eureka中注册使用的名称以及应用内部通过Feign调用,使用的服务名称都是小写,如user-service,但是注册到Eureka中后,应用的名称全部都是以大写的形式存储及展现,由于Eureka客户端对大小写的支持都是一样的,因而通过Feign使用小写的名称调用就没有问题。

现在是将Spring Cloud注册中心由Eureka迁移到Nacos,但是Nacos服务端及Nacos客户端对服务名称的支持是区分大小写的,即从Eureka同步到Nacos中的大写服务名称,通过Feign中使用小写的服务名称调用时,就会报找不到服务的错误。

针对这种情况,考虑了以下四种解决方案:
1、改Nacos的服务端与客户端,使其对大小写服务名称不敏感,如果等官方版本支持,可能不知道到什么时候,要么就自己改,但是以后就不能够升级官方的新版本,与官方支持的版本升级就会脱节;
2、修改Eureka对外提供的服务名称,这个代价也不小,更何况这也不是Eureka的问题;
3、修改应用中的调用,都使用大写,服务注册时名称全部修改为大写,上百个应用相互调用,有非常多的地方要改,成本太高;
4、修改NacosSync,将从Eureka中获取到的服务名称修改为小写后再同步到Nacos中,这种方案成本最小,且修改容易,不会修改到Nacos以及Eureka本身,不影响将来的升级;
 

在NacosSync中,EurekaNamingService主要负责与Eureka的交互,如注册节点、更新节点、删除节点以及获取应用的节点信息等,此时只需要针对获取到的应用节点信息,将其应用名称处理成小写再返回给调用方即可,具体的变更可查看以下码云的提交:

https://gitee.com/laofeng/nacos-sync/commit/899368db12d5c125f1376f7b047588a8667cef77

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eureka迁移到Nacos之服务名称大小问题解决 的相关文章

随机推荐

  • vue-element-admin项目

    vue element admin vue element admin 介绍 功能 前序准备 目录结构 项目运行机制和代码注释 main js App vue permission js Vuex结构 scss icons 安装 Contr
  • 密码学之DES算法简述(1)

    1 DES算法描述 1 输入64位明文数据 并进行初始置换IP 2 在初始置换IP后 明文数据再被分为左右两部分 每部分32位 以L0 R0表示 3 在秘钥的控制下 经过16轮运算 f 4 16轮后 左 右两部分交换 并连接再一起 再进行逆
  • MyBatis中将结果集封装到指定类型详解(反射Class.forName详解)

    文章目录 1 将结果集封装到指定类型中 1 1指定类型 1 2将信息存入到mapper中 1 3反射 1 3 1获取全限定类名 加载类并且实例化 1 3 2执行SQL语句 生成的结果集获取元信息 把每列的数据存入到指定类型中 1 4Clas
  • java正则表达式语法详解及其使用代码实例

    代码下载地址 http www zuidaima com share 1835085544524800 htm 原文 java正则表达式语法详解及其使用代码实例 Regular Expressions of Java Tutorial 译者
  • Community宣言

    Community宣言 一个幽灵 共产主义的幽灵 在欧洲游荡 为了对这个幽灵进行神圣的围剿 旧欧洲的一切势力 教皇和沙皇 梅特涅和基佐 法国的激进派和德国的警察 都联合起来了 有哪一个反对党不被它的当政的敌人骂为Community呢 又有哪
  • 【python知识点】锦集

    版权声明 未经博主同意 谢绝转载 请尊重原创 博主保留追究权 https blog csdn net m0 69908381 article details 132368704 出自 进步 于辰的博客 相关博文 python细节 经验 锦集
  • 老电脑如何用U盘重装系统?老电脑用U盘重装系统教程

    老电脑如何用U盘重装系统 用户利用U盘来给老电脑重装系统 能够帮助解决老电脑运行缓慢 系统出现故障或感染病毒等问题 通过重装系统 可以清除旧的系统文件和应用程序 重新安装一个干净且高效的操作系统 那么具体要如何操作 可以参考以下小编分享的老
  • 微信小程序开发(八)button按钮去除圆角

    背景 小程序使用button 会有一个默认圆角 如果修改数值比较容易 想要去掉就可能遇到坑 原因 小程序的设计风格是button的border和圆角等都是通过after写的 如果需要去掉圆角效果 最好是使用如下代码 button borde
  • MFC多线程编程之一——问题提出

    原文地址 http www vckbase com document viewdoc id 1704 一 问题的提出 编写一个耗时的单线程程序 新建一个基于对话框的应用程序SingleThread 在主对话框IDD SINGLETHREAD
  • 一步一步分析讲解神经网络基础-Feedforward Neural Network

    A feedforward neural network is an artificial neural network wherein connections between the units do not form a cycle A
  • linux执行makefile文件或目录,makefile.am_makefile.in文件_linux怎么用makefile

    默认的安装路径 1 标准安装路径 默认安装路径为 prefix usr local 可以通过 configure prefix 的方法来覆盖 其它的预定义目录还包括 bindir prefix bin libdir prefix lib d
  • c++中的时间处理(3)与sleep相关的时间函数

    1 Sleep 函数 头文件 Windows下为 windows h Linux下为 unistd h 注意 1 Sleep是区分大小写的 有的编译器是大写 有的是小写 2 Sleep括号里的时间 在windows下是已毫秒为单位 而Lin
  • MySQL性能分析工具的使用

    1 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候 该如何思考呢 这里把思考的流程整理成下面这张图 整个流程划分成了 观察 Show status 和 行动 Action 两个部分 字母 S 的部分代表观察 会使用相应的分析工具 字
  • AngularJS API

    AngularJS提供了如下的一下常用函数 API名称 描述 anguler lowercase 转换为小写字母 anguler uppercase 转换为大写字母 angular isString 是否为字符串 isNumber 是否为数
  • 常用的转义字符 C语言

    转义字符 转义字符是一种特殊的字符常量 以反斜线 开头 后跟字符 具有特定的含义 不同于字符原有的含义 故称 转义 字符 上表 转义字符 含义 n 回车换行 光标移到下一行的行首 r 回车 光标移到当前行的行首 把当前行前面全部删掉 t 制
  • 【pyqt5学习】——菜单栏(QMenu())、工具栏QToolBar学习

    目录 1 菜单栏 QMenu 一般在窗口顶部 1 创建菜单栏步骤 2 信号与方法 3 实操 2 工具栏 一般在菜单栏下方 1 创建步骤 2 方法与信号 信号 方法 3 实操示例 3 状态栏QStateBar 用于显示状态信息 一般在窗口底部
  • 微信开放平台接入问题

    1 errcode 40163 errmsg code been used rid xxxxx 原因 获取token时 使用的code码被二次使用 2 errcode 40249 errmsg this template msg has b
  • python中的unicode

    Python s Unicode string type stores characters from the Unicode character set In this set each distinct character has it
  • 怎么样不使用python做到图片爬虫呢?试试这个神奇软件吧

    1 首先在 主题 选项 选择你需要搜索的内容 2 填写需要下载的文件数量 这个需要留意 如果没有更改保存地址 那么会覆盖以前的文件 3 任意选择一个你想保存的地址 链接 https pan baidu com s 16yKPdUEC355j
  • Eureka迁移到Nacos之服务名称大小问题解决

    我们应用往Eureka中注册使用的名称以及应用内部通过Feign调用 使用的服务名称都是小写 如user service 但是注册到Eureka中后 应用的名称全部都是以大写的形式存储及展现 由于Eureka客户端对大小写的支持都是一样的