Otter-入门篇4(单向同步实践)
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的特性已经双向同步的配置,在这里感谢大家的关注,有说的不对的地方还请大家多多指出!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
- 我所理解的Remoting(1):Marshaling & Activation[上篇]
- oracle 12c 常见报告获取-AWR
- 人人公司收购美国卡车社区 Trucker Path,未来或探索无人驾驶
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[下篇]
- 《WCF的绑定模型》博文系列汇总[共6篇]
- 快来看看难民营里的高科技超市
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[中篇]
- 如何通过自定义MessageFilter的方式利用按键方式操作控件滚动条[附源代码]
- WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)
- 《WCF技术剖析》博文系列汇总[持续更新中]
- 关于服务器的运行寿命 你应该知道这些事
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]
- WCF技术剖析之二十一: WCF基本的异常处理模式[上篇]
- 树大招风:细数2017年加密货币市场的幺蛾子事件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android开发中GridView用法示例
- React Native中Android物理back键按两次返回键即退出应用
- Android仿简书搜索框效果的示例代码
- Android 自定义 HorizontalScrollView 打造多图片OOM 的横向滑动效果(实例代码)
- Android开发自定义TextView省略号样式的方法
- Android开发中获取View视图宽与高的常用方法小结
- Android判断字符串中是否含字母、中文或数字
- 利用Kotlin开发你的第一个Android应用
- Android Picasso使用高斯模糊处理的示例代码
- Android RecyclerView打造悬浮效果的实现代码
- Android选择图片或视频进行循环播放
- Android第三方登录之QQ登录
- Android利用CountDownTimer实现验证码倒计时效果实例
- Android开发实现读取Assets下文件及文件写入存储卡的方法
- Android studio实现刮刮乐的方法