news 2026/4/19 12:36:37

微服务细节之——“动态路由”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微服务细节之——“动态路由”

我们知道,配置管理,就是在·openfeign配置列表中点击+新建一个配置,然后在bootstrap.yaml拉取共享配置。

于是我们想到,路由是不是也可以这样?

其实是可以的。不过路由的变化,网关的路由配置全部是在项目启动时由org.springframework.cloud.gateway.route.CompositeRouteDefinitionLocator在项目启动的时候加载,并且一经加载就会缓存到内存中的路由表内(一个Map),所以不是仅仅热更新配置就够了,还要检测到路由配置变了后,去手动更行路由表。

  • 如何监听Nacos配置变更?

先连接nacos,通过NacosFactory.createConfigService(properties);拿到configService。再通过addListener方法,就能再里面实现监听后需要进行的操作。

String serverAddr = "{serverAddr}"; String dataId = "{dataId}"; String group = "{group}"; // 1.创建ConfigService,连接Nacos Properties properties = new Properties(); properties.put("serverAddr", serverAddr); ConfigService configService = NacosFactory.createConfigService(properties); // 2.读取配置 String content = configService.getConfig(dataId, group, 5000); // 3.添加配置监听器 configService.addListener(dataId, group, new Listener() { @Override public void receiveConfigInfo(String configInfo) { // 配置变更的通知处理 System.out.println("recieve1:" + configInfo); } @Override public Executor getExecutor() { return null; } });
  • 如何把路由信息更新到路由表?

用到RouteDefinitionWriter里的两个方法

/** * 更新路由到路由表,如果路由id重复,则会覆盖旧的路由 */ Mono<Void> save(Mono<RouteDefinition> route); /** * 根据路由id删除某个路由 */ Mono<Void> delete(Mono<String> routeId);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 10:07:39

基于python的大数据反电信诈骗管理系统(源码+文档)

项目简介大数据反电信诈骗管理系统实现了以下功能&#xff1a;该系统基于B/S模式架构&#xff0c;基于python语言开发&#xff0c;数据层存储采用mysql数据库。主要需要使用了Django框架&#xff0c;本论文研究内容为基于大数据反电信诈骗管理系统&#xff0c;主要的功能有文本…

作者头像 李华
网站建设 2026/4/18 2:36:11

Excalidraw睡眠监测图:作息规律分析

Excalidraw 与作息可视化&#xff1a;用一张手绘图看懂你的睡眠规律 在快节奏的现代生活中&#xff0c;越来越多的人开始关注自己的睡眠质量和作息规律。但翻看手机里的健康 App 数据表格&#xff0c;密密麻麻的时间戳和数字往往让人无从下手——我们真正需要的不是原始数据&a…

作者头像 李华
网站建设 2026/4/19 3:42:48

Excalidraw健身计划表:训练进度跟踪

Excalidraw健身计划表&#xff1a;训练进度跟踪 在数字工具越来越深入个人生活的今天&#xff0c;我们不再满足于用Excel记录每日深蹲次数&#xff0c;或靠手机备忘录提醒自己“今天练背”。越来越多追求效率与美感并重的人开始寻找一种既能清晰表达结构、又不失个性温度的记录…

作者头像 李华
网站建设 2026/4/18 4:52:28

Excalidraw错误排查流程图:运维故障诊断

Excalidraw错误排查流程图&#xff1a;运维故障诊断 在一次深夜的线上事故中&#xff0c;值班工程师面对满屏的日志和复杂的微服务调用链&#xff0c;试图向远程团队解释“为什么这个Pod起不来”。文字描述越写越多&#xff0c;却依然有人误解了排查顺序。最终&#xff0c;他在…

作者头像 李华
网站建设 2026/4/17 22:39:33

Excalidraw音乐创作灵感板:旋律节奏布局

Excalidraw音乐创作灵感板&#xff1a;旋律节奏布局 在一次远程音乐协作会议中&#xff0c;两位制作人和一位词作者围坐在各自的屏幕前。主创哼唱了一段新歌的结构&#xff1a;“前奏进来要安静&#xff0c;然后主歌铺垫情绪&#xff0c;预副歌拉起来&#xff0c;副歌炸开——…

作者头像 李华
网站建设 2026/4/18 11:22:38

Excalidraw常见问题汇总:官方FAQ精华整理

Excalidraw常见问题汇总&#xff1a;官方FAQ精华整理 在远程协作成为常态的今天&#xff0c;团队对可视化工具的需求早已超越“画个图”这么简单。我们需要的不仅是图形表达能力&#xff0c;更是一种能激发创意、促进沟通、支持实时共创的认知媒介。正是在这样的背景下&#x…

作者头像 李华