当前位置: 首页 > 网络应用技术

shardingsphere读取和写作分离

时间:2023-03-05 20:31:56 网络应用技术

  使用shardingshpere sharding-porxy(透明数据库代理)模式实现MySQL数据库读取和写入分离,然后通过Java应用程序连接

  本地下载并安装最新的5.0 beta版本:https://dlcdn.apache.org/shardingsphere/5.0.0.0-beta/

  由于我需要连接MySQL数据库,因此我需要下载mysql-confor-java-5.1.47.jar(https://repo1.maven.org/maven.org/mmaven2/mysql-connector-java/5.1.1.47/mysql-connector-java-5.1.47.jar)并将其放入目录中

  让我们添加并修改config-myapp.yaml文件(请注意,扩展名称应写入YAML,并且无法识别YML)

  例如,我仅添加了一个主库和一个仅读取库,并且省略了数据库之间的主要同步过程,因为这不是关键点。据说主使云帮助我从实例同步。当然,您还可以使用本机方法来实现MySQL Master-Salve和其他配置的配置。

  SERVER.YAML文件已修改如下:

  1在bin目录中执行start.sh以启动shardingsphere

  2使用任意MySQL客户端连接数据库,就像连接常规数据库一样

  3检查库表中的数据,该数据应与主和图书馆一致。

  在这里,我遇到了一个小问题,这是库时库的名称。表格不好,您可以直接编写名称。

  由于采用了代理模式,因此相应的使用几乎是必不可少的。您无需修改代码。您只需要修改数据库的配置文件即可。

  当我测试阅读和写入分离时,阅读库的请求:

  证明阅读请求已在阅读库中受到打击。

  1启动错误,您需要在未配置第一个启动时配置server.yaml

  2启动错误:我的库仅由读库设置,但是我不知道为什么报告错误。我确实没有解决。只需重新开始即可。

  3开始成功后,使用客户端连接到Sharding-Proxy数据库。

  先前修改的提供商的类型是(默认情况下授予所有权(无授权),并且不会与实际数据库数据库进行交互。)

  参考: