更新gateway路由定义
来源:7-5 注册网关事件监听器(上)

无心铁憨憨
2021-07-21
在更新gateway路由定义,前面已经把所有之前的路由定义都给清除掉了,为什么后面还是调用的私有的update方法,而不是add方法呢?
私有的update方法里面也是做delete操作的啊。
哦,我知道了,清除掉的是gateway中的路由定义,调用updateByRouteDefinition方法是先删除nacos中的路由定义,然后再添加新的进去,最后同步给gateway
写回答
1回答
-
同学你好:
你这里的理解其实不对,我们在 Gateway 中的所有操作都不会去直接修改 Nacos 中的任何数据,这是不合理的。Nacos 中的数据应该是我们通过 Nacos Web 页面手动修改,否则,你通过代码修改是没办法保证数据可靠性的。
这里,我之所以会调用 update 方法,也是为了二次保证清理所有旧的路由定义,当然,我们的代码里面,也不存在其他的线程更新的情况,可以直接去 add;可以自己试试自己的想法是不是可行的。
我的实现也是典型的冗余设计,如果觉得没必要,可以直接去 save。
172021-09-03
相似问题