brpc
brpc copied to clipboard
连接断开重连后的问题
这算是 https://github.com/brpc/brpc/issues/476 问题的延续吧,还是选择逻辑数据库,底层连接断开了重连就丢失了之前选择的逻辑数据库,我需要重连之后选择之前连接的逻辑数据库,有没有合适的方式实现?
要临时应对这个问题的话,想到一种非常hack的方案:实现一个Authenticator,在GenerateCredential 函数中去 select DB 。
这点在概念上类似于connection preface,就是每次tcp连接后都要发送点特殊的东西,但细节上和协议有比较密切的关系。普通的connection preface一般得是第一份数据且只能发一次,而redis的select,似乎多发两次也没什么(幂等)。一种改法是在RedisRequest中增加select的参数,然后在PackRedisRequest中做一些特殊处理。
@gydong auth的方法我觉得也是可以,只是现在auth的接口不够通用,不太符合直觉。
这个功能有实现了没?
#1768 这个pr可以解决