news 2026/8/7 6:56:29

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

作者头像

张小明

前端开发工程师

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/8/7 21:27:19

基于python的RSA加密算法软件的研究设计(源码+文档)

项目简介RSA加密算法软件的研究设计实现了以下功能&#xff1a;通过设计的软件中的固定模块来进行输入内容的添加&#xff0c;并且在线能够通过快速的、几乎不耗费资源的提供加密的内容实现。对于加密后的内容&#xff0c;从表面上看就是一长串无规则的字符串&#xff0c;没有任…

作者头像 李华
网站建设 2026/8/7 11:34:17

Excalidraw界面原型设计:产品经理快速出稿方案

Excalidraw&#xff1a;让产品经理用“一句话”画出界面原型 想象这样一个场景&#xff1a;在一次产品需求评审会上&#xff0c;开发同事皱着眉头问&#xff1a;“你说的这个流程跳转&#xff0c;能不能画个图&#xff1f;”你手头没有现成的设计稿&#xff0c;Figma打开太重&a…

作者头像 李华
网站建设 2026/8/7 11:40:12

Excalidraw价值流图:精益生产流程优化

Excalidraw价值流图&#xff1a;精益生产流程优化 在一场跨厂区的精益改善会议上&#xff0c;工艺工程师小李将一个链接发到群里&#xff1a;“大家点开看看&#xff0c;这是我刚用一句话生成的当前产线VSM草图&#xff0c;咱们边看边调。”不到十分钟&#xff0c;六名分布在不…

作者头像 李华
网站建设 2026/8/7 3:11:32

嵌入式多线程从“能跑“到“稳定“的关键一步!

关注星标公众号&#xff0c;不错过精彩内容来源 | 嵌入式大杂烩做嵌入式开发&#xff0c;多线程比较常见&#xff0c;今天就来聊聊多线程从"能跑"到"稳定"的关键一步!一、并发的本质1. 并发≠并行先弄清楚两个概念&#xff1a;并发&#xff08;Concurrency…

作者头像 李华