news 2026/6/10 17:19:38

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

作者头像

张小明

前端开发工程师

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/6/10 3:51:23

Excalidraw建筑平面图:空间规划简易工具

Excalidraw建筑平面图&#xff1a;空间规划简易工具 在一场远程设计评审会议上&#xff0c;建筑师小李没有打开AutoCAD或Revit&#xff0c;而是分享了一个链接——团队成员点击进入后&#xff0c;看到的是一张略带“手绘抖动”的户型草图&#xff0c;客厅、卧室用简单的矩形标注…

作者头像 李华
网站建设 2026/6/9 12:24:29

Excalidraw看板视图:任务管理轻量化方案

Excalidraw看板视图&#xff1a;任务管理轻量化方案 在一场远程技术评审会议中&#xff0c;团队成员正围坐在虚拟白板前。一人用手指在屏幕上勾勒出一个歪歪扭扭的方框&#xff1a;“这里应该是认证服务”&#xff0c;另一个人立刻拖动一张任务卡片贴到旁边&#xff1a;“这个模…

作者头像 李华
网站建设 2026/6/10 14:50:39

Excalidraw头脑风暴记录:创意捕捉与整理

Excalidraw&#xff1a;当手绘白板遇上AI&#xff0c;如何重塑创意协作 在一次远程产品评审会上&#xff0c;团队正讨论一个复杂的微服务架构。以往这种会议总是充满“语言迷雾”——有人描述“用户请求先到API网关&#xff0c;然后分发给认证服务和订单服务”&#xff0c;另一…

作者头像 李华
网站建设 2026/6/10 15:04:29

Excalidraw合规审计路径:法规遵循检查清单

Excalidraw合规审计路径&#xff1a;法规遵循检查清单 在企业数字化转型加速的今天&#xff0c;可视化协作工具早已不再是“可有可无”的辅助软件&#xff0c;而是技术设计、架构评审和跨团队沟通的核心载体。然而&#xff0c;当一张看似随意的手绘草图可能涉及系统拓扑、数据流…

作者头像 李华
网站建设 2026/6/8 11:00:41

ExcalidrawSWOT分析图:竞争策略制定助手

Excalidraw&#xff1a;让战略分析“画”出来 在一次初创公司的产品战略会上&#xff0c;会议室的白板早已被密密麻麻的文字填满。产品经理站在前面&#xff0c;一边讲解&#xff0c;一边不断擦掉重写&#xff0c;团队成员频频点头&#xff0c;却没人敢打断——因为一旦开口&am…

作者头像 李华
网站建设 2026/6/10 14:41:35

Excalidraw版本发布流程:从RC到正式版

Excalidraw版本发布流程&#xff1a;从RC到正式版 在开源项目的世界里&#xff0c;一次“安静”的版本升级背后&#xff0c;往往藏着一整套精密运转的工程机制。当你在 Obsidian 中插入一个手绘风格的流程图&#xff0c;或是在团队会议中实时协作绘制架构草图时&#xff0c;Exc…

作者头像 李华