Otter-入门篇4(单向同步实践)

时间:2022-05-02
本文章向大家介绍Otter-入门篇4(单向同步实践),主要内容包括Otter-入门篇4(单向同步实践)#、1. 准备工作、2. 配置manage##、3. 总结##、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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的特性已经双向同步的配置,在这里感谢大家的关注,有说的不对的地方还请大家多多指出!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!