bugCats

Results 3 comments of bugCats

提醒一下,不要轻易尝试! 我现在只能卸载重新装了、、、

> 我也有类似需求,不过我是自己在网关实现了定时获取服务列表并判断是否有变化,再更新gateway中的路由... 已经找到事件监听的调度类:com.alibaba.nacos.client.naming.core.EventDispatcher。准备进行扩展的,结果发现没法弄,EventDispatcher对象是在com.alibaba.nacos.client.naming.NacosNamingService#init这个私有方法里面创建的╮(╯3╰)╭ 使用定时获取,间隔短了浪费性能,间隔长实时性较差。 目前做法是:nacos也作为配置中心使用,gateway订阅一个配置文件的变化。 服务上下线时,服务修改这个配置文件。然后gateway收到配置文件变化时,再主动获取服务列表,对比上次获取的服务列表,添加新监听或者移除失效的监听,再更新gateway路由... (dog.jpg

@maketubo 我看了一下,如果修改HostReactor类,这样的话,EventListener里面的内容,会阻塞扫描线程。 其实所有的EventListener触发,都在这个内部类里面完成**com.alibaba.nacos.client.naming.core.EventDispatcher.Notifier**, 从这个类着手修改。 以下是我修改的思路: **EventDispatcher**:添加移除监听;再在NamingService暴露新增的2个方法: private ConcurrentMap globalMap = new ConcurrentHashMap(); public void addListener(String clusters, EventListener listener){ NAMING_LOGGER.info("[LISTENER] adding * with " + clusters + " to listener map");...