cobar文档 - 分库规则配置
2014-04-29 16:31
162 查看
1.场景
本文将给出一个典型的应用场景,并做具体配置说明,假设场景如下:
- 通过Cobar提供一个名为test的数据库,其中包含t1,t2两张表。
- 后台有3个MySQL实例(ip:port)为其提供服务,分别为:A,B,C。
- 期望t1表的数据放置在实例A中,t2表的数据水平拆成四份并在实例B和C中各自放两份。
- t2表的数据要具备HA功能,即B或者C实例其中一个出现故障,不影响使用且可提供完整的数据服务。
2.图示
3.规则描述
3.1 针对test定义了两条访问规则:
第一条,表示t2表按照rule1规则访问,访问的数据节点范围是dnTest[0-3]。
第二条,test中除定义的t2表,其他表直接访问dnTest数据节点。
rule1的具体含义是,将t2的id字段值(假设是数字型,如果不是则做一下hash)按1024取模,然后把得到
的值分配在如下区段:[0-255],[256-511],[512-767],[768-1023]该四个区段分别对应dnTest[0-3]四个节点。
3.2 数据节点(DataNode),由主备数据源(DataSource)、心跳语句以及连接池等信息组成。
3.3 数据源(DataSource),描述了与数据库实例(DBInstance)及实例中schema之间的映射关系。
4.配置文件
注:xxx$0-4 等价于 xxx[0],xxx[1],xxx[2],xxx[3],xxx[4] 是配置的一种缩写方式。
schema.xml 配置
rule.xml 配置
本文将给出一个典型的应用场景,并做具体配置说明,假设场景如下:
- 通过Cobar提供一个名为test的数据库,其中包含t1,t2两张表。
- 后台有3个MySQL实例(ip:port)为其提供服务,分别为:A,B,C。
- 期望t1表的数据放置在实例A中,t2表的数据水平拆成四份并在实例B和C中各自放两份。
- t2表的数据要具备HA功能,即B或者C实例其中一个出现故障,不影响使用且可提供完整的数据服务。
2.图示
3.规则描述
3.1 针对test定义了两条访问规则:
第一条,表示t2表按照rule1规则访问,访问的数据节点范围是dnTest[0-3]。
第二条,test中除定义的t2表,其他表直接访问dnTest数据节点。
Schema | Table | Rule | DataNode |
---|---|---|---|
test | t2 | rule1=func1(id) | dnTest[0],dnTest[1],dnTest[2],dnTest[3] |
test | NULL | NULL | dnTest |
的值分配在如下区段:[0-255],[256-511],[512-767],[768-1023]该四个区段分别对应dnTest[0-3]四个节点。
3.2 数据节点(DataNode),由主备数据源(DataSource)、心跳语句以及连接池等信息组成。
DataNode | DataSource |
---|---|
dnTest | dsTest[0] |
dnTest[0] | dsTest[1](master), dsTest[5](slave) |
dnTest[1] | dsTest[2](master), dsTest[6](slave) |
dnTest[2] | dsTest[3](master), dsTest[7](slave) |
dnTest[3] | dsTest[4](master), dsTest[8](slave) |
DataSource | DBInstance |
---|---|
dsTest[0] | A/test1 |
dsTest[1] | B/test2 (master) |
dsTest[2] | B/test3 (master) |
dsTest[3] | C/test4 (master) |
dsTest[4] | C/test5 (master) |
dsTest[5] | C/test2 (slave) |
dsTest[6] | C/test3 (slave) |
dsTest[7] | B/test4 (slave) |
dsTest[8] | B/test5 (slave) |
注:xxx$0-4 等价于 xxx[0],xxx[1],xxx[2],xxx[3],xxx[4] 是配置的一种缩写方式。
schema.xml 配置
相关文章推荐
- Spring Boot配置文件规则以及使用方法官方文档查找以及Spring项目的官方文档查找方法
- 如何配置OpenGL ES的上下文(OpenGL ES2.0官方文档翻译)
- 新版tigase配置文档地址有关
- php mysql nginx编译配置文档
- U-BOOT中文文档 概述与配置选项
- hadoop2官方文档中文翻译(2)---单节点配置
- 【Ansible 文档】【译文】配置文件
- SpringBoot+ZooKeeper+ZKUI+Drools 实现应用配置中心及业务规则动态加载
- 文档归档的配置发送
- Linux CentOS 6.x 开发配置文档 8 - Redis
- Cobar使用文档(可用作MySQL大型集群解决方案)
- Cobar使用文档(可用作MySQL大型集群解决方案)
- lvs+keepalive 比较详细的安装配置文档
- 深入理解及配置ISA Server 2006访问规则
- 关于dnsmasq的使用配置和文档翻译
- yaf路由配置规则
- MySQL5.6.36 linux rpm包安装配置文档
- Linux安装Tomcat外部不能访问[主要是linux中防火墙规则的配置问题]
- Python asyncio文档翻译---事件环规则:通用的消息循环EventLoop的get,set方法
- win7/8/8.1/2008/2012&r2 防火墙端口配置,出入站规则等