我已经开始检查mysql连接器j的复制范例,看看我们可以在主数据库和从属数据库上分离读写操作。
我已经检查了下面的页面并获得了一些关于操作的线索,但仍然需要知道mysql-jdbc如何理解哪个服务器是主服务器以及哪些服务器是从服务器? (可能是一个愚蠢的,对不起)
答案 0 :(得分:0)
ReplicationDriver或NonRegisteringReplicationDriver将第一个网址确定为主,其余网址视为从属
您应该考虑的一点是:如果您使用的是ReplicationDriver或NonRegisteringReplicationDriver,则需要至少提供两个包含相同数据库实例的主机。否则,您将得到一个SQLException告诉:" 必须指定至少一个从属主机连接到主/从复制负载平衡功能"。
还有一点:您实际上并不需要创建NonRegisteringReplicationDriver实例。因为ReplicationDriver也在使用它。您可以通过让应用程序抛出和异常来检查它。你会看到的是;通过NonRegisteringReplicationDriver.connect(..)方法尝试DB连接。
编辑(!):您实际上并不需要为系统创建非特定驱动程序。您需要知道的是您在做什么以及正确的连接URL。因为Driver类本身会检查url是否存在复制模式和loadbalance模式。然后它会触发所需的驱动程序实例。