brpc icon indicating copy to clipboard operation
brpc copied to clipboard

连接断开重连后的问题

Open ufosky opened this issue 7 years ago • 5 comments

这算是 https://github.com/brpc/brpc/issues/476 问题的延续吧,还是选择逻辑数据库,底层连接断开了重连就丢失了之前选择的逻辑数据库,我需要重连之后选择之前连接的逻辑数据库,有没有合适的方式实现?

ufosky avatar Sep 11 '18 02:09 ufosky

要临时应对这个问题的话,想到一种非常hack的方案:实现一个Authenticator,在GenerateCredential 函数中去 select DB 。

gydong avatar Sep 12 '18 01:09 gydong

这点在概念上类似于connection preface,就是每次tcp连接后都要发送点特殊的东西,但细节上和协议有比较密切的关系。普通的connection preface一般得是第一份数据且只能发一次,而redis的select,似乎多发两次也没什么(幂等)。一种改法是在RedisRequest中增加select的参数,然后在PackRedisRequest中做一些特殊处理。

jamesge avatar Sep 13 '18 01:09 jamesge

@gydong auth的方法我觉得也是可以,只是现在auth的接口不够通用,不太符合直觉。

jamesge avatar Sep 17 '18 02:09 jamesge

这个功能有实现了没?

zwkno1 avatar Mar 21 '22 08:03 zwkno1

#1768 这个pr可以解决

zwkno1 avatar May 27 '22 18:05 zwkno1