Otter-入门篇4(单向同步实践)#
前言##
在前几节我们已经做好了关于otter的准备工作,配置好了zookeeper,manage和node,本节就来完成otter第一个实际功能,单相数据同步.单向数据同步可以解决跨机房主从的问题,所有读操作都能从本地的从库进行操作,而写可以通过外网连接到主服务器进行写入,并且通过otter同步到各个从服务器,可以很好地应对多机房读业务偏多的场景,那么话不多说就开始本节的正文吧!
附上:
喵了个咪的博客:w-blog.cn
Otter项目地址:https://github.com/alibaba/otter
Otter文档地址:https://github.com/alibaba/otter/wiki
1. 准备工作
Mysql多实例可以通过mysqld_multi进行配置,资料也比较多这里不详细说明了.
笔者这里准备了两个mysql实例来做同步,均采用mysql5.6:
10.144.159.182(master)
10.163.122.106(slave)
我们还需要检查一下数据库配置,编辑**/etc/my.cnf**,检查一下配置
binlog_format=ROW #修改成ROW
server-id = 1 #不同mysql的server-id设置为不同的值
应为后续需要进行测试单机本地测试不能很好的反应实际情况这里,从新建立了一台服务器单独搭建了一个mysql实例(mysql5.6)来作为同步的从库,方便后续的性能测试
这里简单建立一个数据库,这么名字取为ottertest,建立如下表结构,并且分别建立在两个mysql中
特别注意:库名中千万不要带有符号比如"-"这种符号会直接引起同步开启不成功
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`phone` varchar(255) NOT NULL,
`time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
到这里我们的准备工作就做好了
2. 配置manage##
(一)首先我们需要配置数据连接也就是数据源
(二)配置好数据源后进行需要同步的数据表的配置
(三)配置同步规则
(四)开启数据同步
3. 总结##
到这里就完成了一次单向同步的配置,我们所有的对master的操作都会同步到slave,但是slave是可以写的,所以一般会进行通过slave进行写操作保证数据的统一,后面的章节将会通过此机制慢慢讲解一些otter的特性已经双向同步的配置,在这里感谢大家的关注,有说的不对的地方还请大家多多指出!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
来源:oschina
链接:https://my.oschina.net/u/2394822/blog/734673