为实现redis异地数据中心实时同步功能,存在几种方案。其中一种方案是利用redis主从节点的异步拷贝,伪装一个slave节点,获取主节点的异步拷贝信息。将该异步拷贝信息同步到异地数据中心,从而实现redis集群异地同步。
本文的目的就是探究“伪装slave获取异步拷贝”的可行性与复杂度。
虽然redis文档有介绍主从以及异步拷贝,但是其实现并没有详细介绍,因此我阅读了redis中的cluster.c
、replicate.c
(redis版本为4.0.1),探查redis"主从拷贝"实现的细节,并使用netcat软件进行了一些实验。我们的最终结论是:实验结果反映“伪装slave获取异步拷贝”方案是可行的,并且复杂度可接受。
本文记录了redis集群扩容时会发生的slot迁移过程,同时记录了在迁移过程中查询key集群会如何响应。在文章开头,附带了一些redis集群技术的简单介绍(大部分摘自redis官方文档),帮助了解迁移过程。
... ➦这是一个新的、使用netty实现的、使用http协议进行混淆的socks5代理。解决了前作sogo项目因go内存回收机制/内存复用机制弱带来的cpu/内存占用高的问题。
... ➦减少造轮子,安装已有socks5、http代理。这里的ss5和squid是不能达到FQ的目的的,要实现这个目的,请查看之前的其他文章。
... ➦以前的博客中有如何使用shell脚本重启应用的教程,也有解决tty的最大打开文件数量限制的方法。其实这些都可以用systemd服务的方式解决。今天就来一个简单的service文件,记录下怎么使用。
使用如下命令即可编写sogo服务的service文件,并设置开机自启动。
... ➦