本节讲述如何使用Amoeba高级特性。负载均衡、数据切分、如何编写数据切分规则等。
配置项 | 是否必选 | 默认值 | 说明 |
---|---|---|---|
className | 否 | 默认值:com.meidusa.amoeba.server.MultipleServerPool | |
loadbalance | 是 | 1 | 负载均衡参数 1=ROUNDROBIN(轮询方式) , 2=WEIGHTBASED(根据当前活动连接数。活动连接少的优先) |
poolNames | 是 | 空 | 以逗号分割的pool name list(比如:server1,server2) |
virtual | 否 | false | 如果该值为true,则className 默认值为com.meidusa.amoeba.server.MultipleServerPool |
配置项 | 是否必选 | 默认值 | 说明 |
---|---|---|---|
name | 是 | 空 | 数据库表名 |
schema | 是 | 空 | 数据库schema |
defaultPools | 否 | 空 | 假设 Table:test 被切分成2个数据库,那么defaultPools应该写上所有test表所在的Pool,以逗号分割 |
readPools | 否 | 空 | 当您配置了该属性,则相当于启用读写分离规则,多个Pool以逗号分割 |
writePools | 否 | 空 | 当您配置了该属性,则相当于启用读写分离规则,多个Pool以逗号分割 |
配置项 | 是否必选 | 默认值 | 说明 |
---|---|---|---|
name | 是 | 空 | 规则名称,唯一 |
parameters | 否 | 空 | 一般是表中的字段。,多个Parameter以逗号分割 |
expression | 是 | 空 | 这条规则的表达式,类似sql,具体可以参阅sqlJep |
defaultPools | 否 | 空 | 如果sql查询条件与表达式有交集的时候,而且 readPools、writePools 没有被配置,则返回这个值 |
readPools | 否 | 空 | 当您配置了该属性,如果sql查询条件与表达式有交集,而且是select 语句则返回该值 |
writePools | 否 | 空 | 当您配置了该属性,如果sql查询条件与表达式有交集,而且是update、delete、insert 语句则返回该值 |