Mycat getConnection()流程
2019-12-11 11:20:04 0 举报
mycat 获取后端连接流程
作者其他创作
大纲/内容
N
rrs.isHasBlanceFlag()
当前活跃连接数+1>最大连接数
rrs.getRunOnSlave()
根据balance配置文件中的属性值找到相应的读写节点
dbPool.getReadCon()
Y
结束
从连接池中获取可用的写节点
是否强制走从节点
确认可用的从节点,从中随机选择一个从节点
rrs.getRunOnSlave() != null
dbPool.isInitSuccess()
con != null
当前连接map中如果有,直接拿取已建立好的后端连接
con == null && System.currentTimeMillis() < waitingTime
rrs.canRunnINReadDB(autoCommit)
是否带有/*db_type=master/slave*/注解
是否带有 /*balance*/ 注解
从可用的readHost中选取一个节点
PhysicalDatasource.getConnection()
等待时间3s,每0.05s重试一次
路由并执行SQL的过程中会获取对应的后端连接,若连接不存在则会创建新的后端连接
获取当前活跃连接数
0 条评论
回复 删除
下一页