概述
Mysql实现了数据库单连接、数据库集群、数据库高可用、数据库读写分离模式、MysqlX协议等五种方式连接数据库,对于使用者来说,我们只需配置jdbc的url,就可以这些功能。那么Mysql底层是如何确认使用者的协议的呢?这就离不开对JDBC的url解析类ConnectionUrl。
ConnectionUrl是一个门面类,他提供了一下几点功能:
-
URL解析功能
Mysql针对自己提供的五种能力,即单连接、主备高可用、负载均衡、读写分离、MysqlX,这五种能力分别对应着不通的URL格式,而ConnectionUrl则负责对这些URL进行解析。 -
路由功能
在[URL功能解析功能]的基础上,ConnectionUrl共提供了SingleConnectionUrl、FailoverConnectionUrl、LoadbalanceConnectionUrl、ReplicationConnectionUrl、XDevAPIConnectionUrl来完成解析,但是其只对外提供了getConnectionUrlInstance方法来获取这五种url -
缓存功能
在[URL解析功能]和[路由功能]的基础上,其还提供了缓存功能