微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
分布式缓存
文章目录
- 微服务框架
- 分布式缓存
- 42 Redis 主从
- 42.4 数据同步原理【优化】
- 42.4.1 主从同步的问题优化
- 42.4.2 总结
42 Redis 主从
42.4 数据同步原理【优化】
42.4.1 主从同步的问题优化
可以从以下几个方面来优化Redis主从就集群:
-
在master中配置repl-diskless-sync yes启用无磁盘复制,避免全量同步时的磁盘IO。
-
Redis单节点上的内存占用不要太大,减少RDB导致的过多磁盘IO
【上面的两种办法都是在提高 全量同步的性能】
-
适当提高repl_baklog的大小,发现slave宕机时尽快实现故障恢复,尽可能避免全量同步
-
限制一个master上的slave节点数量,如果实在是太多slave,则可以采用主-从-从链式结构,减少master压力
上面就是我们现在的 主从模型【读写在主、读在从】
如果现在有超级多的salve 从节点,全部都去找master 主节点的话,master 很有可能 会忙不过来的
解决办法:
形成主 - 从 - 从的链式结构
42.4.2 总结
简述全量同步和增量同步区别?
- 全量同步:master将完整内存数据生成RDB,发送RDB到slave。后续命令则记录在repl_baklog,逐个发送给slave。
- 增量同步:slave提交自己的offset到master,master获取repl_baklog中从offset之后的命令给slave
什么时候执行全量同步?
- slave节点第一次连接master节点时
- slave节点断开时间太久,repl_baklog中的offset已经被覆盖时
什么时候执行增量同步?
- slave节点断开又恢复,并且在repl_baklog中能找到offset时