news 2026/9/2 17:44:30

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

作者头像

张小明

前端开发工程师

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/9/2 18:18:36

Excalidraw状态机可视化:软件设计新模式

Excalidraw状态机可视化&#xff1a;软件设计新模式 在一次远程架构评审会议中&#xff0c;团队正为一个复杂的订单流程争论不休。产品经理指着PPT上的UML图说&#xff1a;“这里用户支付失败后应该能重试三次&#xff0c;而不是直接取消。”开发却回应&#xff1a;“代码里确…

作者头像 李华
网站建设 2026/9/2 18:02:13

Excalidraw情绪日记:心理状态趋势观察

Excalidraw情绪日记&#xff1a;心理状态趋势观察 在心理咨询室的角落&#xff0c;一张手绘的情绪变化图贴在墙上——线条歪斜、颜色斑驳&#xff0c;却真实记录着来访者一周以来的情绪起伏。这种朴素的表达方式&#xff0c;正被数字工具重新诠释。如今&#xff0c;越来越多的人…

作者头像 李华
网站建设 2026/9/2 22:27:50

Excalidraw车辆维修手册:故障排查流程图

Excalidraw车辆维修手册&#xff1a;故障排查流程图 在一家连锁汽修厂的早会上&#xff0c;一名新技师面对“发动机无法启动”的工单显得手足无措。老师傅递给他一张泛黄的手写流程图&#xff0c;边画边讲&#xff1a;“先看电瓶&#xff0c;再听马达声……”这样的场景每天都在…

作者头像 李华
网站建设 2026/9/2 22:19:45

Excalidraw商业模式画布:创业团队战略讨论

Excalidraw&#xff1a;当手绘白板遇上AI&#xff0c;创业团队如何重塑战略协作&#xff1f; 在一场深夜的远程会议中&#xff0c;四位分散在三个时区的创始人正试图敲定他们的产品架构。有人打开PPT&#xff0c;开始拖拽框框&#xff1b;有人发来一段文字描述&#xff1b;还有…

作者头像 李华
网站建设 2026/9/2 6:22:48

opencv和摄影测量坐标系的转换

1.相对定向的转换使用opencv的代码进行相对定向后&#xff0c;1&#xff09;首先把计算出来的三维点&#xff0c;y值变为负的y值&#xff0c;z值变为负的z值2&#xff09;把计算出来的RT&#xff0c;改造成T表示右相机中心在左相机的坐标&#xff0c;然后y值变为负的y值&#x…

作者头像 李华