这里网关后台的热更新方案实现这样可以吗?
来源:9-2 基本知识科普 - 介绍及安装参考

weibo_隱懓_0
2021-03-12
网关后台配置负载均衡等策略信息和网关相关配置信息,每次都需要重启网关服务器,来重新加载DB最新内容到内存中。
Q1.可否把通过consul这种注册中心,网关后台每更新信息后调用consul api,把信息更新到consul中,然后consul自动监听信息更改后,自动触发网关更新内存,来实现网关的热更新。
Q2.然而客户端的服务发现不太适用同步节点信息,这里只能是采用服务端的服务发现吧?。
Q3.老师说的热更新是这个意思吧?不是web服务配置文件的热更新加载吧?如果重启整个网关服务的话会对后面所有的服务都造成影响。
我理解的对吗?
7回答
-
实际准备这样搞:
1、db中存储zk的配置信息
2、每个实例服务注册zk的ip节点绑定
3、网关主动watch对应zk节点变化,实现上是一个观察者模式的lbconfiger
4、这个lbconfiger监听到变化后就会通知loadbalance更新实际节点信息了。最近考虑把这段代码,整合到咱们项目中。
162021-06-27 -
qq_慕工程65285
2021-05-06
有解了吗 去年六月老师回复这功能比较好加 现在也没看到谁加上
012021-05-16 -
牛儿吃草
2021-03-31
q1可以中consul作为配置中心,当然也可以用zk
q2可以用客户端模式也可以用服务端模式,服务端模式需要主动去注册的。
q3不会使用监听配置文件的方式,要么从db里读取,要么从配置中心读取信息。00 -
慕丝4332457
2021-03-22
关于你说的这个配置数据热更的问题,有个办法是架一个缓存层,数据存入读取都走缓存层,缓存层去主动同步数据库。网关服务在缓存层读数据,dashboard也在缓存层更新数据
052021-03-31 -
慕斯1088534
2021-03-19
又有新发现:在第十章中,http服务获取发现是通过中间件(HTTPAccessModeMiddleware)来实现,HTTPAccessModeMiddleware是读取数据库实现不过是热更新,就是数据库http相关服务变动后,中间件不能热更新,估计在这个中间件做个热更新应该就可以了。这是我的猜测,不知道对不,牛儿大师来说说吧!谢谢!
032021-03-31 -
weibo_隱懓_0
提问者
2021-03-19
请老师进一步解答
00 -
慕斯1088534
2021-03-14
我也觉得是用goroutine 去获取API来热加载更新,具体的请牛儿大师说说吧!
012021-05-16
相似问题
回答 1
回答 2
回答 1
回答 2
回答 2