obproxy是否支持数据库连接复用

【产品名称】obproxy

【产品版本】任意

【问题描述】obproxy是否支持数据库连接的session复用?

目前想做一个数据库连接的connection pool,但是经过研究发现,connection上的大部分session vars都可以在连接中重新设置,但是database和user两个属性无法在连接中切换,因为database和user可能受限于权限,在建立连接时需要经过相关的认证才能建立正常数据库连接,那么也就是说connection pool中的connection是无法复用的(目前设想可以基于database和user的hash划分connection pool,建立基于某一个用户或某一个database的pool),在研究obproxy的时候发现obproxy好像有connection pool,那么obproxy是如何实现的connection pool,是基于和oceanbase 的自有协议吗,还是connection放入pool会重连刷新所有session vars,亦或是有后门user?,标准的mysql协议无法在已有连接中切换user?

不同的 user 创建一个不同的 pool 

1 个赞

我的预期设计也是根据user或者database建立connection pool,除非proxy和db有后门user或协议来重置connection上的所有属性