Mycat中间件综合部署高可用-读写分离-分库分表(1
以下是一个简化的Mycat中间件高可用、读写分离和分库分表的配置示例:
schema.xml
- 定义Mycat实例的逻辑库、数据节点、数据表和分片规则:
<schema name="mycat_sharding" checkSQLschema="false" sqlMaxLimit="100">
<table name="user" dataNode="dn1,dn2" rule="sharding-by-long" />
<dataNode name="dn1" dataHost="host1" database="db1" />
<dataNode name="dn2" dataHost="host2" database="db2" />
<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="user" password="password">
<readHost host="hostS1" url="localhost:3307" user="user" password="password" />
</writeHost>
</dataHost>
</schema>
rule.xml
- 定义分片规则:
<tableRule name="sharding-by-long">
<rule>
<columns>id</columns>
<algorithm>rang-long</algorithm>
</rule>
</tableRule>
<function name="rang-long" class="io.mycat.route.function.AutoPartitionByLong">
<property name="mapFile">autopartition-long.txt</property>
</function>
server.xml
- 配置Mycat服务器参数,包括用户、系统变量等:
<user name="mycat">
<property name="password">mycat</property>
<property name="schemas">mycat_sharding</property>
</user>
- 启动Mycat服务。
以上配置演示了如何设置Mycat中的逻辑库、数据节点、数据表以及分片规则,实现了读写分离和分库分表的高可用方案。这里的分片规则是基于一个长整型字段的范围分片,并且配置了主从同步以实现高可用。
评论已关闭