PSync

centos7用fio测试磁盘io

两盒软妹~` 提交于 2020-08-12 14:48:56
我在centos7系统里,直接执行yum install -y fio就能把工具装上。 测写入的时候-filename=绝对不能写/dev/sdX,否则盘上数据损坏!随便一搜,很多文章都是filename=/dev/开头的,我觉得这些人不是无脑搬运工就是故意害人的! 下面这命令测试写入效果,将生成单个文件在/tmp/中 fio -filename=/tmp/fio_randwrite -name=ihatefio -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1G -numjobs=20 -runtime=3 -group_reporting 下面这命令将在指定目录下,生成20个1G文件,是多线程并发执行的。 fio -directory=/tmp/fio/ -name=readtest -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1G -numjobs=20 -runtime=3 -group_reporting 其中 numjobs=20表示20个并发 -rw=可供选择的有read单测读write单测写rw读写同时测randrw随机读写同时测randread单测随机读randwrite单测随机写

Redis 主从复制全剖析

冷暖自知 提交于 2020-08-11 08:52:35
Redis的主从复制是如何工作的?如何在同步数据的同时,还保持着高性能,你了解吗? https://redis.io/topics/replication 注意以下基于 redis 5 最新版本, slave 名词和配置项已经被官方改为 replica ,其实是一个东西,都指从节点。 主从复制的基本流程 # Master-Replica replication. Use replicaof to make a Redis instance a copy of # another Redis server. A few things to understand ASAP about Redis replication. # # +------------------+ +---------------+ # | Master | ---> | Replica | # | (receive writes) | | (exact copy) | # +------------------+ +---------------+ # # 1) Redis replication is asynchronous, but you can configure a master to # stop accepting writes if it appears to be not connected

3.docker学习笔记之入门,redis主从配置2 理论

非 Y 不嫁゛ 提交于 2020-08-10 23:40:17
全量复制 用于初次复制或其它无法进行部分复制的情况,将主节点中的所有数据都发送给从节点,是一个非常重型的操作,当数据量较大时,会对主从节点和网络造成很大的开销 部分复制 用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果(条件允许),主节点会补发丢失数据给从节点。因为补发的数据远远小于全量数据,可以有效避免全量复制的过高开销,需要注意的是,如果网络中断时间过长,造成主节点没有能够完整地保存中断期间执行的写命令,则无法进行部分复制,仍使用全量复制 复制偏移量 参与复制的主从节点都会维护自身复制偏移量。主节点(master)在处理完写入命令后,会把命令的字节长度做累加记录,统计信息在 info relication 中的master_repl_offset 指标中: 127.0.0.1:6379> info replication 从节点(slave)每秒钟上报自身的复制偏移量给主节点,因此主节点也会保存从节点的复制偏移量,统计指标如下: 从节点在接收到主节点发送的命令后,也会累加记录自身的偏移量。统计信息在 info relication 中的 slave_repl_offset 中 复制积压缓冲区 复制积压缓冲区是保存在主节点上的一个固定长度的队列,默认大小为1MB,当主节点有连接的从节点(slave)时被创建,这时主节点(master

REdis MASTER aborted replication NOAUTH Authentication required

对着背影说爱祢 提交于 2020-08-08 10:50:05
对于REdis集群,如果设置了requirepass, 则一定要设置masterauth,否则从节点无法正常工作,查看从节点日志可以看到哪下内容: 19213:S 22 Apr 2019 10:52:17.389 * Connecting to MASTER 1.6.18.16:2181 19213:S 22 Apr 2019 10:52:17.389 * MASTER <-> REPLICA sync started 19213:S 22 Apr 2019 10:52:17.389 * Non blocking connect for SYNC fired the event. 19213:S 22 Apr 2019 10:52:17.390 * Master replied to PING, replication can continue... 19213:S 22 Apr 2019 10:52:17.390 * (Non critical) Master does not understand REPLCONF listening-port: -NOAUTH Authentication required. 19213:S 22 Apr 2019 10:52:17.390 * (Non critical) Master does not understand

Redis 6.0 访问控制列表ACL说明

僤鯓⒐⒋嵵緔 提交于 2020-08-06 05:45:36
背景 在Redis6.0之前的版本中,登陆Redis Server只需要输入密码(前提配置了密码 requirepass )即可,不需要输入用户名,而且密码也是明文配置到配置文件中,安全性不高。并且应用连接也使用该密码,导致应用有所有权限处理数据,风险也极高。在Redis6.0有了 ACL 之后,终于解决了这些不安全的因素,可以按照不同的需求设置相关的用户和权限。本文来介绍下Redis 6.0 ACL相关的配置和使用。具体的说明可以查看官方文档: ACL 说明 Redis ACL 是向后兼容的,即默认情况下用户为default,使用的是requirepass配置的密码。要是不使用ACL功能,对旧版客户端来说完全一样。Redis Auth可以有2种方式进行工作: 1 :旧版本的使用方式,默认用户。兼容旧版本Redis的支持 AUTH < password > 2 :新方式,还需要验证用户名 AUTH < username > < password > 因为需要验证用户名了,所以客户端的认证方式也多了参数: -- user <username> 验证用户名 -- pass <password> 验证密码,是参数-a的别名;配合--user使用 -- askpass 强制用户输入带有STDIN掩码的密码 现在开始来说明如何在Redis中根据ACL来定制需要的用户权限

redis6.0源码阅读 主从模式之数据同步

社会主义新天地 提交于 2020-07-27 16:05:11
redis6.0源码阅读 主从模式之数据同步 给新观众老爷的开场 主从模式-数据同步的原因 1. 数据热备份 2. 读写分离 3. 从节点需要与主节点同步数据 主从模式-数据同步的场景 从节点数据与主节点数据不一致 1. 给主节点新加入从节点 - 全量同步 2. 从节点与主节点数据同步中断 主从模式-数据同步的思路 全量同步 部分重传 主从模式-数据同步的实现 同步流程 redis6.0 的 rdb文件内容 小结 下集预告 往期博客回顾 给新观众老爷的开场 大家好,我是弟弟! 最近读了一遍 黄健宏大佬的 <<Redis 设计与实现>> ,对Redis 3.0版本有了一些认识 该书作者有一版添加了注释的 redis 3.0源码 👉官方redis的github传送门 。 👉黄健宏大佬添加了注释的 redis 3.0源码传送门 👉antirez的博客 网上说Redis代码写得很好,为了加深印象和学习redis大佬的代码写作艺术,了解工作中使用的redis 命令背后的源码逻辑,便有了写博客记录学习redis源码过程的想法。 今天斗胆打开了redis 6.0的代码开始阅读理解。 redis6.0相对于redis3.0增加了不少的功能。 本篇博客的描述方式 以主从模式的数据同步为主线 ,其中 涉及其他的东西为支线 。 主从模式-数据同步的原因 1. 数据热备份 从节点热备份主节点的数据,在哨兵

Redis 6.0 稳定版发布,支持多线程 IO

不打扰是莪最后的温柔 提交于 2020-05-05 11:05:17
阿里云智能数据库事业部 OLAP 平台团队现向 2021 届海内外院校应届毕业生(毕业时间在2020年11月-2021年10月之间)招聘大数据系统工程师,有机会转正,有意请加 iteblog 微信内推。 五一期间, Redis 6.0.0 稳定版(GA)终于发布, Redis 6.0 最终的发布一共经历了四个 RC(Release Candidate)版,从第一个候选版本的发布到一个稳定版本前后经历了大概四个半月(Redis 6.0 RC1 于 2019-12-19 发布)。Redis 6 是 Redis 有史以来最大的版本,虽然现在发布了 GA 版,但是在将它投入生产之前仍然需要谨慎。本文将介绍 Redis 6.0 RC1 到 GA 版本除稳定性相关之外的新功能或改进。 文章目录 1 客户端缓存进行了重新设计 2 用于复制的 RDB 文件如果不再有用,它将立即被删除 3 ACL 有所提升 4 PSYNC2 复制协议进行了改进 5 带有超时的 Redis 命令现在要好用得多 6 RDB文件现在加载速度更快了 7 新的 STRALGO 命令 8 支持多线程 IO 客户端缓存进行了重新设计 Redis 6.0 RC1 到 GA 版本,Redis 客户端缓存在某些方面进行了重新设计,特别是放弃了缓存槽(caching slot)方法而只使用 key 的名称。在分析了备选方案之后,在其他

Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?

ε祈祈猫儿з 提交于 2020-05-04 19:29:22
Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最“企业”化的版本,也是有史以来改动最大的一个 Redis 版本,同时也是参与开发人数最多的一个版本。 所以在使用此版本之前,建议各位开发者先进行深入的测试再考虑投产,毕竟生产坏境无小事。好了,回到本文的重点,接下来我们来重点看下 Redis 6.0.1 给我们带来了那些新功能。 所以在使用此版本之前,建议各位开发者先进行深入的测试再考虑投产,毕竟生产坏境无小事。好了,回到本文的重点,接下来我们来重点看下 Redis 6.0.1 给我们带来了那些新功能。 Redis 新功能介绍 Redis 6 的更新日志,主要包含以下五部分的内容: Redis 6.0-RC1 版新功能介绍; Redis 6.0-RC2 版新功能介绍; Redis 6.0-RC3 版新功能介绍; Redis 6.0-RC4 版新功能介绍; Redis 6.0.0 GA 版新功能介绍。 除了以上这些版本的更新日志外,还有 6.0.1 正式版的更新日志,不过这个正式版的发布时间只比 Redis 6.0.0 GA 晚了两天,因此只修复了一些 bug,所以我们只需要看以上五个日志即可。 1.Redis 6.0-rc1 更新日志 官方更新日志如下: Redis 6 improves Redis in a

重磅消息:Redis 6.0.0 稳定版发布

我的梦境 提交于 2020-05-04 14:04:46
点击上方“朱小厮的博客”,选择“ 设为星标” 后台回复" 加群 ",加入新技术群 Redis的作者在博客上宣布:Redis 6.0.0 稳定版发布了。原文地址:http://antirez.com/news/132 那么,从RC1到今天,除了稳定之外,还有什么变化呢? 1、重新设计了客户端缓存,特别是放弃了caching slot,而只使用key names。 2、现在Redis支持这样一种模式:如果用于复制的RDB文件不再有用,它将立即删除。在某些环境中,最好不要将数据放在磁盘上,而只放在内存中。 3、acl在特点方面变得更好。首先,有一个新的ACL日志命令,它允许查看所有违反ACL的客户机、访问不应该访问的命令、访问不应该访问的密钥,或者验证尝试失败。日志实际上在内存中,因此每个外部代理都可以调用“ACL log”来查看发生了什么。这对于调试ACL问题非常有用。 4、改进了复制协议PSYNC2。Redis能够更频繁地部分重新同步,使副本和主副本找到公共偏移。 5、带有超时的Redis命令现在不仅BLPOP并且以前可以接受秒的命令现在可以接受十进制数。 6、RDB文件现在加载速度更快。根据文件的实际组成(较大或较小的值),可以预期20/30%的改进。当有很多客户机连接时,信息也更快了,这是一个老问题,现在终于解决了。 7、我们有一个新命令STRALGO,它实现了复杂的字符串算法

PG TO Oracle 增量同步-外部表

送分小仙女□ 提交于 2020-04-29 17:41:49
背景   最近在负责公司数据Oracle转PG;老平台数据库:Oracle11g;新平台数据库:PostgreSQL12。由于平台统计规则有变动;所以正在推广的游戏数据无法全部迁移过来;只能在老平台上运行。而支付数据接口升级;统一进入新平台数据PG。需要将部分支付数据由PostgreSQL同步到Oracle。   简而言之:PostgreSQL增量同步表到Oracle。首先声明我不是反“去IOE”潮流。我想到两种方案 采用OGG 可以参考 OGG For Oracle To PostgreSQL 采用外部表+脚本/存储过程 一、安装Oracle客户端 1、下载地址 http: //www.oracle.com/technetwork/database/database-technologies/instant-client/overview/ index.html 2 、 安装步骤 2.1 创建安装目录 [root @Postgres201 ~] # mkdir -p /u01/app/ [root@Postgres201 ~] # cd /u01/app/ 2.2 上传软件包并解压 [root @Postgres201 app] # unzip instantclient-basic-linux.x64-11.2.0.4.0.zip [root@Postgres201 app]