上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 故障转移状态机: 一、状态机函数sentinelFailoverStateMachine: ​ 终于进入故障转移,先看一下状态机函数: void sentinelFailoverStateMachine(sentinelRedisInstance *ri) { redisAssert(ri->fla 阅读全文
posted @ 2022-02-06 15:28 macguz 阅读(97) 评论(0) 推荐(0)
摘要: 1、检测主观下线状态: void sentinelCheckSubjectivelyDown(sentinelRedisInstance *ri) { mstime_t elapsed = mstime() - ri->last_avail_time; /* Check if we are in n 阅读全文
posted @ 2022-02-06 15:25 macguz 阅读(160) 评论(0) 推荐(0)
摘要: Acting half: 一、进入故障转移状态之前: void sentinelHandleRedisInstance(sentinelRedisInstance *ri) { // ... // ... /* ACTING HALF */ /* We don't proceed with the 阅读全文
posted @ 2022-02-06 15:25 macguz 阅读(59) 评论(0) 推荐(0)
摘要: Monitor half: ​ Sentinel通过两种方式获取信息: INFO命令(通过命令连接)向其他主服务器或从服务器获取信息; 订阅hello频道,获取其他Sentinels发布的信息; 一、建立连接: ​ Sentinel在连接主服务器或者从服务器时,会同时创建命令连接和订阅连接,但是在连 阅读全文
posted @ 2022-02-06 15:24 macguz 阅读(74) 评论(0) 推荐(0)
摘要: 一、概述: 调用链: serverCron → sentinelTimer → sentinelHandleDictOfRedisInstances → sentinelHandleRedisInstance 重要函数 这里只是给出表格,下面几节会具体分析 名称 功能 sentinelTimer 由 阅读全文
posted @ 2022-02-06 15:23 macguz 阅读(65) 评论(0) 推荐(0)
摘要: Redis源码分析--主从复制 一、主从复制: ​ Redis提供主从复制功能,可以让一个服务器(slave)去复制(replicate)另一个服务器(master)并作为主服务器的从服务器。从服务器保证一定程度上的与主服务器的数据一致性,从而水平扩展数据库的负载能力。 命令 功能 SLAVEOF 阅读全文
posted @ 2022-01-27 16:18 macguz 阅读(522) 评论(0) 推荐(1)
摘要: 非阻塞connect ​ 看到Redis源码中主从复制的源码,对某些逻辑不是很确定。梳理了Redis非阻塞connect的大概实现之后,自己写了一个简单的版本。 需要理解的是:非阻塞connect的完成被认为是使响应套接字可写。(UNP Ch6.10) 一、主要流程: 创建非阻塞socket,soc 阅读全文
posted @ 2022-01-27 00:25 macguz 阅读(272) 评论(0) 推荐(0)
摘要: # 使用 sudo sysctl -w kernel.core_pattern=/corefiles/core.%p.%e sudo mkdir /corefiles sudo chmod -R 777 /corefiles ulimit -c unlimited # 查看 gdb ./a.out 阅读全文
posted @ 2022-01-21 17:19 macguz 阅读(54) 评论(0) 推荐(0)
摘要: #define MAX_THREADS 1 class Test { public: Test(): m_stop(false), s("Object exists.") { printf("ctor\n"); m_threads = new pthread_t[MAX_THREADS]; for 阅读全文
posted @ 2021-12-14 21:16 macguz 阅读(461) 评论(0) 推荐(0)
摘要: Archlinux连接usb键盘 ​ 遇到连接无效的情况,首先查看是否可以找到usb设备 lsusb -s 'devide_number' -v 重新加载udev udevadm control - -reload && udevadm trigger 参考 Arch Linux下USB鼠标键盘不能 阅读全文
posted @ 2021-10-16 00:06 macguz 阅读(236) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 10 下一页