在前几节咱们已经作好了关于otter的准备工做,配置好了zookeeper,manage和node,本节就来完成otter第一个实际功能,单相数据同步.单向数据同步能够解决跨机房主从的问题,全部读操做都能从本地的从库进行操做,而写能够经过外网链接到主服务器进行写入,而且经过otter同步到各个从服务器,能够很好地应对多机房读业务偏多的场景,那么话很少说就开始本节的正文吧!node
附上:mysql
喵了个咪的博客:w-blog.cngit
Otter项目地址:https://github.com/alibaba/ottergithub
Otter文档地址:https://github.com/alibaba/otter/wikisql
Mysql多实例能够经过mysqld_multi进行配置,资料也比较多这里不详细说明了.数据库
笔者这里准备了两个mysql实例来作同步,均采用mysql5.6:服务器
10.144.159.182(master)性能
10.163.122.106(slave)测试
咱们还须要检查一下数据库配置,编辑**/etc/my.cnf**,检查一下配置code
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;
到这里咱们的准备工做就作好了
到这里就完成了一次单向同步的配置,咱们全部的对master的操做都会同步到slave,可是slave是能够写的,因此通常会进行经过slave进行写操做保证数据的统一,后面的章节将会经过此机制慢慢讲解一些otter的特性已经双向同步的配置,在这里感谢你们的关注,有说的不对的地方还请你们多多指出!
注:笔者能力有限有说的不对的地方但愿你们可以指出,也但愿多多交流!