client-go 客户端是否有办法支持动态切换连接的tikv集群地址;
做到 txnkv.NewClient(pds) 在 修改pds配置之后,可以连接到新的tikv集群;
这个动态修改,可以是监听某个远程配置,发现配置变化就触发修改连接到新的pd(tikv);
通过这个方式,实现TIKV快速故障恢复;可以接受一定的损失,比如秒级请求超时或者error等~~
client-go 客户端是否有办法支持动态切换连接的tikv集群地址;
做到 txnkv.NewClient(pds) 在 修改pds配置之后,可以连接到新的tikv集群;
这个动态修改,可以是监听某个远程配置,发现配置变化就触发修改连接到新的pd(tikv);
通过这个方式,实现TIKV快速故障恢复;可以接受一定的损失,比如秒级请求超时或者error等~~
肯定是可以的,但是要自己去实现了,拉个分支实现试试
或者 用代理的方式实现,代理去探活…
tikv 本身就是高可用,多副本的,如果资源分配得当,恢复速度会比较快了
好的,感谢~
切集群的问题主要是考虑到client对pd和tikv都会有很多连接,如果中断全部连接再重新连pd和tikv不知道影响有多大,比如缓存不一致等情况再影响到上层。想看看有没类似这么搞过的~
tikv本身是高可用的,我们也部署了三数据中心。但是还是出现过故障,请求激增的情况,打满tikv的CPU,扩两三台高配机器仍然不起作用的情况下只能一个个找异常IP最后封掉IP,才能故障隔离,耗时很长。有个备用集群就会好很多了,所以还是希望可以再往前走一步。
我理解你说的场景,一般是资源掉线或者离线后,其他的服务中包含的cache 还缓存了这部分不可用的资源,然后请求仍然会分发到这部分不可用的资源上,导致请求积压,还无法正常响应(十分影响体验)
我估计 tidb 这边能更新一些 api 给予指导性使用,可以解决这些问题(支持手动更新cache)
实际上可以另外开一篇需求帖子,详细描述你的需求,并描述你想得到的一些产品功能上的更新
好的,thx~~
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。