ZCF目前支持多种数据库的读写分离,并且可以设置多个只读数据库服务器。
在ZCF中启用读写分离,只需要在database.xml中配置,示例如下:
<?xml version="1.0" encoding="UTF-8"?> <framework> <config name="RWSpliting">true</config> <config name="ReadOnlyDB">ReadOnly1,ReadOnly2</config> <databases> <database name="Default"> <config name="Type">MYSQL</config> <config name="ServerAddress">192.168.0.101</config> <config name="Port">3306</config> <config name="Name">zcms2x</config> <config name="UserName">root</config> <config name="Password">$KEY40q0XtGAVbs=</config> <config name="MaxConnCount">1000</config> <config name="InitConnCount">0</config> <config name="TestTable">ZDMaxNo</config> </database> <database name="ReadOnly1"> <config name="Type">MYSQL</config> <config name="ServerAddress">192.168.0.102</config> <config name="Port">3306</config> <config name="Name">zcms2x</config> <config name="UserName">root</config> <config name="Password">$KEY40q0XtGAVbs=</config> <config name="MaxConnCount">1000</config> <config name="InitConnCount">0</config> <config name="TestTable">ZDMaxNo</config> </database> <database name="ReadOnly2"> <config name="Type">MYSQL</config> <config name="ServerAddress">192.168.0.103</config> <config name="Port">3306</config> <config name="Name">zcms2x</config> <config name="UserName">root</config> <config name="Password">$KEY40q0XtGAVbs=</config> <config name="MaxConnCount">1000</config> <config name="InitConnCount">0</config> <config name="TestTable">ZDMaxNo</config> </database> </databases> </framework>
其中RWSpliting项用于配置是否开启读写分离特性;ReadOnlyDB项用于配置读写分离时的只读库的连接池名称,可以配置多个连接池名称,以逗号分隔。
如果配置有多个只读库,则只读语句会被随机分配到不同的只读库。
写服务器和只读服务器之间的数据同步需要根据数据库软件的类型另行配置。
匿名评论 所有评论仅代表网友意见
王工
陈工
扫一扫关注
所有评论仅代表网友意见