OneProxy自动剔除延迟节点
在多种情况下,MySQL主从节点之间可能存在延迟。比如,主库的写入能力强于从库的写入能力、从库单线程复制、从库复制出错导致相关进程停止。为了保证数据的时效性,OneProxy提供了复制时效性检查,用于自动剔除延迟节点。
OneProxy提供两种时效性检查方式
A)运行show slave status\G,获得Seconds_Behind_Master值,即为延迟大小。
该方法好处是直接使用了MySQL自身提供的功能,只需查询从节点即可知道延迟。缺点在于该值在某些情况下不准确。
B) 针对第一个方法的缺点,Percona公司提供了pt-heart-beat,可以准确的检测主从延迟。OneProxy吸收了pt-heart-beat的设计原理。
假设主(192.168.15.128:3319)
从1(192.168.15.128:3318)
从2(192.168.15.128:3316)
针对A)方案,在proxy.conf中增加如下配置项,其中用户名和密码的设置请参考http://www.cnblogs.com/youge-OneSQL/p/4579881.html
[oneproxy]
keepalive = 1
event-threads = 4
log-file = log/oneproxy.log
pid-file = log/oneproxy.pid
lck-file = log/oneproxy.lck
mysql-version = 5.7.12
proxy-address = :3307
proxy-master-addresses.1 = 192.168.15.128:3319@server1
proxy-slave-addresses.2 = 192.168.15.128:3318@server1
proxy-slave-addresses.3 = 192.168.15.128:3316@server1
proxy-user-list = test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test
proxy-charset = gbk_chinese_ci
proxy-group-policy = server1:read-slave
proxy-secure-client = 127.0.0.1
proxy-sequence.1 = default
proxy-httpserver =:8080
repadmin-username =test
repadmin-password =1378F6CC3A8E8A43CA388193FBED5405982FBBD3
proxy-group-slavedelay=server1:2
proxy-license = 9244B81320619F1C
针对B)方案,即是在A方案的基础上增加proxy-replication-check = 1
keepalive = 1
event-threads = 4
log-file = log/oneproxy.log
pid-file = log/oneproxy.pid
lck-file = log/oneproxy.lck
mysql-version = 5.7.12
proxy-address = :3307
proxy-master-addresses.1 = 192.168.15.128:3319@server1
#如果是两个master的话,比如双机房可以把下面的注释去掉
#proxy-master-addresses.2 = 192.168.15.128:3320@server1
proxy-slave-addresses.2 = 192.168.15.128:3318@server1
proxy-slave-addresses.3 = 192.168.15.128:3316@server1
proxy-user-list = test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test
proxy-charset = gbk_chinese_ci
proxy-group-policy = server1:read-slave
proxy-secure-client = 127.0.0.1
proxy-sequence.1 = default
proxy-httpserver =:8080
repadmin-username =test
repadmin-password =1378F6CC3A8E8A43CA388193FBED5405982FBBD3
proxy-group-slavedelay=server1:2
proxy-license = 9244B81320619F1C
proxy-replication-check = 1
该方案会在默认的数据库test中创建一个表oneproxy_replication_check
select * from oneproxy_replication_check;
+----+------------+
| id | col2 |
+----+------------+
| 1 | 1475049446 |
+----+------------+
1 row in set (0.00 sec)
通过比较主从节点间的时间戳大小,即可计算出延迟。
OneProxy自动剔除延迟节点的更多相关文章
- Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)
Redis的哨兵机制中,如果是多哨兵模式,哨兵节点之间也是可以相互感知的,各种搜索之后出来的是千篇一律的一个基础配置文件,在配置当前哨兵节点的配置文件中,并没有配置其他哨兵节点的任何信息.如下是一个哨 ...
- linux驱动开发(四) 字符设备驱动框架(自动创建设备节点)
代码如下 #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> # ...
- I.MX6 linux eGalaxTouch 自动获取设备节点
I.MX6 linux eGalaxTouch 自动获取设备节点 \\\\\\\\\\\\\\-*- 目录 -*-///////////// | 一. 需求: | 二. /proc/bus/input ...
- platform型设备在/dev目录下自动创建设备节点的分析【转】
转自:http://blog.csdn.net/rockrockwu/article/details/7357648 系统启动过程中platform设备.驱动注册完毕,为什么在/dev目录下就自动创建 ...
- ceph脚本-自动部署计算机节点
依然还在加班中,最近确实忙的脚打后脑勺! 又花了些时间丰富ceph脚本,可以连带着自动部署计算机节点了. 这一部分内容是后加的.可以关注我的公众号获取更多的项目代码和讲解!波神与你同行哦,加油!!!
- easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选
最近项目中用到easyui tree,发现tree控件的cascadeCheck有些坑,不像miniui 的tree控件,级联勾选符合业务需求,所以就自己重新改写了onCheck事件,符合业务需求.网 ...
- Spring Cloud Config 自动刷新所有节点
全局刷新 详细参考:<Sprin Cloud 与 Docker 微服务架构实战>p160-9.9.2节 1.使用Spring Cloud Config 客户端时,可以使用 /refresh ...
- cassandra集群缩容与剔除问题节点
今天在操作cassandra集群数据迁移时发生了一些意料之外的事情,服务器迁移前与迁移后同样为5台,但是不知道是什么原因导致的,迁移过后的节点居然多出了一台cassandra节点,个人瞬间感觉莫名其妙 ...
- [Elixir002]节点启动后自动连接其它节点
问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...
随机推荐
- unresolved inclusion in the java header in JNI
eclipse的ndk开发环境建差不多后打开jni的samples里的hello-jni项目.添加native和运行都没有问题,但是打开hello-jni.c看到一片红: 光这一个文件牵涉的问题有下面 ...
- Centos Samba 服务器 iptables 和 SElinux 设置
1.安装samba服务器 # yum install samba 2.配置 # vi /etc/samba/smb.conf security = user (100行左右) 在Share Defin ...
- linux安全运维之谁动了chattr
安全一直是老生常谈的问题,今天我们来谈谈chattr. 如果涉及到侵权问题:请联系w18030432178@outlook.com,我会尽快删除帖子 目录 0.chattr的简介 0.0 chattr ...
- Fiddler 常用文档
时间飞逝,已经俩月有余没写东西了(本来写的就不多,(^▽^)),最近俩月的苦闷,此处省略 1W 字.... 闲言碎语不多讲,使用 Fiddler 有一小段时间了,今天在这里总结下,一来做个笔记,二来可 ...
- New Concept English 1-10
Lesson 10 The loss of Titanic The great ship, Titanic, sailed for New York from Southampton on April ...
- .net之工作流工程展示及代码分享(二)工作流引擎
在介绍完表单类的时候,接下来介绍工作流引擎,主要由四个类组成,分别是流程.流程步骤.流程实例.流程步骤实例类. 流程类: [Serializable] public class Flow { [Xml ...
- 如何写出优雅的Python(二)
Print sorted list: colors=['red','green','blue','yellow'] for color in sorted(colors): print color f ...
- 关于SQL Server将一列的多行内容拼接成一行的问题讨论
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我 ...
- .NET 动态脚本语言Script.NET 入门指南 Quick Start
Script.NET是一种动态的脚本语言,它使得程序可扩展,可定制,和维护性好.和Office系列的VB Script相似,可以在应用中嵌入大量的代码块,以便在运行时才执行这些代码. Script.N ...
- 介绍Ext JS 4.2的新特性的《深入浅出Ext JS》上市
以用户为中心的时代,应用的界面外观变得越来越重要.然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易.Ext JS的出现,为广大程序员解决了这一难题.它有丰富多彩的界面和强大的功能,是开发 ...