配置Server.xml
server.xml介绍
server.xml几乎保存了所有mycat需要的系统配置信息。最常用的是在此配置用户名、密码及权限。
server.xml配置
配置rule.xml
rule.xml里面就定义了我们对表进行拆分所涉及到的规则定义。我们可以灵活的对表使用不同的分片算
法,或者对表使用相同的算法但具体的参数不同。这个文件里面主要有tableRule和function这两个标
签。在具体使用过程中可以按照需求添加tableRule和function。
此配置文件可以不用修改,使用默认即可。
primaryKey=“ID”/>
<dataHost name=“localhost1” maxCon=“1000” minCon=“10” balance=“0”
writeType=“0” dbType=“mysql” dbDriver=“native” switchType=“1”
slaveThreshold=“100”>
select user()
<writeHost host=“hostM1” url=“192.168.24.129:3306” user=“root”
password=“root” >
</mycat:schema>
===============================================================================
server.xml几乎保存了所有mycat需要的系统配置信息。最常用的是在此配置用户名、密码及权限。
<?xml version="1.0" encoding="UTF-8"?>
<mycat:server xmlns:mycat=“http://io.mycat/”>
druidparser
mycat
TESTDB
</mycat:server>
rule.xml里面就定义了我们对表进行拆分所涉及到的规则定义。我们可以灵活的对表使用不同的分片算 法,或者对表使用相同的算法但具体的参数不同。这个文件里面主要有tableRule和function这两个标 签。在具体使用过程中可以按照需求添加tableRule和function。此配置文件可以不用修改,使用默认即可
<?xml version="1.0" encoding="UTF-8"?><mycat:rule xmlns:mycat=”http://io.mycat/“ >
sharding_id
hash-int
<function name=“hash-int”
class=“io.mycat.route.function.PartitionByFileMap”>
partition-hash-int.txt
</mycat:rule>
tableRule 标签配置说明:
name 属性指定唯一的名字,用于标识不同的表规则 rule 标签则指定对物理表中的哪一列进行拆分和使用什么路由算法。columns 内指定要拆分的列名字。algorithm 使用 function 标签中的 name 属性。连接表规则和具体路由算法。当然,多个表规则 可以连接到同一个路由算法上。table 标签内使用。让逻辑表使用这个规则进行分片。
function 标签配置说明:
name 指定算法的名字。class 制定路由算法具体的类名字。property 为具体算法需要用到的一些属性。
============================================================================
日期列分区法
create_time
sharding-by-date
<function name=“sharding-by-date”
class=“io.mycat.route.function…PartitionByDate”>
yyyy-MM-dd
2014-01-01
10
配置说明:
tableRule标签:
columns :标识将要分片的表字段
algorithm :指定分片函数
function标签:
dateFormat :日期格式
sBeginDate :开始日期
sPartionDay :分区天数,即默认从开始日期算起,分隔10天一个分区
二、范围约定
配置说明:
tableRule标签:
create_time
sharding-by-month
<function name=“sharding-by-month”
class=“io.mycat.route.function…PartitionByMonth”>
yyyy-MM-dd
2014-01-01
create_time
sharding-by-hour
<function name=“sharding-by-hour”
class=“io.mycat.route.function…LastestMonthPartition”>
24
配置说明 tableRule标签:columns :标识将要分片的表字段 algorithm :指定分片函数 function标签:dateFormat :日期格式 sBeginDate :开始日期 sPartionDay :分区天数,即默认从开始日期算起,分隔10天一个分区
user_id
rang-long
<function name=“rang-long”
class=“io.mycat.route.function.AutoPartitionByLong”>
autopartition-long.txt
配置说明 tableRule标签:columns :标识将要分片的表字段 algorithm :指定分片函数 function标签:mapFile :指定分片函数需要的配置文件名称
autopartition-long.txt文件内容:所有的节点配置都是从0开始,及0代表节点1,此配置非常简单,即预先制定可能的id范围对应某个分 片
range start-end ,data node index
K=1000,M=10000.
0-500M=0 0-100 0
500M-1000M=1 101-200 1
201-300 2
1000M-1500M=2
default=0
或以下写法
0-10000000=0
10000001-20000000=1
优势:扩容无需迁移数据 缺点:热点数据,并发受限
枚举法
user_id
hash-int
<function name=“hash-int”
class=“io.mycat.route.function.PartitionByFileMap”>
partition-hash-int.txt
0
0
配置说明 tableRule标签:columns :标识将要分片的表字段 algorithm :指定分片函数 function标签:mapFile :指定分片函数需要的配置文件名称 type :默认值为0,0表示Integer,非零表示String defaultNode :指定默认节点,小于0表示不设置默认节点,大于等于0表示设置默认节点,0代表节 点1。
默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路由到默认节点。如果不配置默认节点(defaultNode值小于0表示不配置默认节点),碰到不识别的枚举值 就会报错:
partition-hash-int.txt 配置:
10000=0 列等于10000 放第一个分片
10010=1
男=0
女=1
beijing=0
tianjin=1
zhanghai=2
求模法
user_id
mod-long
<function name=“mod-long”
class=“io.mycat.route.function.PartitionByMod”>
3
tableRule标签:columns :标识将要分片的表字段 algorithm :指定分片函数 function标签:count :节点数量
一致性hash
user_id
murmur
<function name=“murmur”
class=“io.mycat.route.function.PartitionByMurmurHash”>
0
2
160
最后总结我的面试经验
2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
BAT面试经验
实战系列:Spring全家桶+Redis等
其他相关的电子书:源码+调优
面试真题:
拟节点数是物理节点数
的160倍 -->
160
最后总结我的面试经验
2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
[外链图片转存中…(img-ouLoWspu-1714428907710)]
BAT面试经验
实战系列:Spring全家桶+Redis等
[外链图片转存中…(img-5PsudpSe-1714428907711)]
其他相关的电子书:源码+调优
[外链图片转存中…(img-OCCiGgYI-1714428907711)]
面试真题:
[外链图片转存中…(img-6ZytEqjZ-1714428907711)]
[外链图片转存中…(img-kUINYUmT-1714428907711)]