温馨提示 更佳阅读体验:[决战西二旗]|Redis面试热点之工程架构篇[2] 前言 前面用了3篇文章介绍了一些底层实现和工程架构相关的问题,鉴于Redis的热点问题还是比较多的,因此今天继续来看工程架构相关的问题,感兴趣的可以先回顾一下之前的3篇文章,如下:[决战西二旗]|Redis面试热点之底层实现篇[决战西二旗]|Redis面试热点之底层实现篇(续)[决战西二旗]|Redis面试热点之工程架构篇 通过本文你将了解到以下内容: Redis的数据同步机制持久化和数据同步的关系.Redis分布式存…
前言 前面用两篇文章大致介绍了Redis热点面试中的底层实现相关的问题,感兴趣的可以回顾一下:[决战西二旗]|Redis面试热点之底层实现篇[决战西二旗]|Redis面试热点之底层实现篇(续) 接下来我们继续来一起研究下Redis工程架构相关的问题,这部分内容出现的概率相对大一些,因为并不是所有人都会去研究源码,如果面试一味问源码那么可能注定是一场尬聊. 面试时在不要求候选人对Redis非常熟练的前提下,工程问题将是不二之选,工程问题相对较多,因此本号将分几篇学习完,今天先来一起学习第一篇. 通…
0.题外话 接着昨天的[决战西二旗]|Redis面试热点之底层实现篇继续来了解一下ziplist压缩列表这个数据结构. 你可能会抱有疑问:我只是使用Redis的功能并且公司的运维同事都已经搭建好了平台,只需要在线申请一下配置和获取连接的地址就可以愉快地使用了,为啥还要这么深入的理解底层的数据结构呢?有啥用呢? 其实这个问题可以分几个方面去回答吧,笔者试着去解释一下原因: 好奇心 作为技术人员,没有好奇心会让我们错过很多精彩,难道你对如此强悍的NoSQL是如何跑起来的不感兴趣吗?好奇心让我们知道的…
环境篇:数据同步工具DataX 1 概述 https://github.com/alibaba/DataX DataX是什么? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.SQL Server.Oracle.PostgreSQL.HDFS.Hive.HBase.OTS.ODPS 等各种异构数据源之间高效的数据同步功能. 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源.…
通过本文你将了解到以下内容: Redis的作者.发展演进和江湖地位 Redis面试问题的概况 Redis底层实现相关的问题包括:常用数据类型底层实现.SDS的原理和优势.字典的实现原理.跳表和有序集合的原理.Redis的线程模式和服务模型 温馨提示:内容并不难,就怕你不看. 看不懂可以先收藏先Mark,等到深入研究的时间再翻出来看看,你就发现真是24K干货呀!停止吹嘘,写点不一样的文字吧! 1.Redis往事 Redis是一个使用ANSI C编写的开源.支持网络.基于内存.可选持久化的高性能键值…
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 1. MGR架构 2. 事务数据同步.认证过程 2.1 事务处理合法性判断 2.2 事务消息中都包含哪些信息 2.3 事务认证流程几个关键点 2.4 事务认证数据库清理 3. 多数派原则 4. 启用MGR的一些先决条件 5. 小结 参考资料.文档 深入浅出MGR专栏 免责声明 本文简单介绍下MGR的整体技术架构概况,事务同步过程,事务认证机制等…
在<Redis 核心篇:唯快不破的秘密>中,「码哥」揭秘了 Redis 五大数据类型底层的数据结构.IO 模型.线程模型.渐进式 rehash 掌握了 Redis 快的本质原因. 接着,在<Redis 日志篇:无畏宕机与快速恢复的杀手锏>中揭晓了当 Redis 发生宕机可以通过重新读取 RDB 快照和执行 AOF 日志实现快速恢复的高可用手段. 高可用有两个含义:一是数据尽量不丢失,二是服务尽可能提供服务. AOF 和 RDB 保证了数据持久化尽量不丢失,而主从复制就是增加副本,一…
昨天写了一篇自己搭建redis集群并在自己项目中使用的文章,今天早上看别人写的面经发现redis在面试中还是比较常问的(笔主主Java方向).所以查阅官方文档以及他人造好的轮子,总结了一些redis面试和学习中你必须掌握的问题.事无巨细,不可能囊括到所有内容,尽量把比较常见的写出来.欢迎关注我的微信公众号:"Java面试通关手册",也可以加我微信:"bwcx9393"与我学习交流. 什么是Redis? Redis 是一个使用 C 语言写成的,开源的 key-valu…
原理篇 redis 时单线程的为什么还能那么快? 数据都在内存中,运算都是内存级别的运算. redis既然是单线程的为什么能处理那么多的并发数? 多路复用,操作系统时间轮训epoll 函数作为选择器,维护了指令队列,和响应队列,java的nio. select ,poll, epoll rset ,fds(文件描述符的集合).而select模型存储fds的方式是采取的bitmap,默认最大1024个. 2.3.执行流程 1.select模型每次都直接将rset(也就是fds)全部拷贝到内核态,因…
    Redis一般是用来支撑读高并发的,为了分担读压力,Redis支持主从复制.架构是主从架构,一主多从, 主负责写,并且将数据复制到其它的 slave 节点,从节点负责读. 所有的读请求全部走从节点.这样也可以很轻松实现水平扩容,支撑读高并发.   redis主从复制的特点: redis采用异步方式复制数据到slave节点,从redis2.8开始,slave节点会周期性地确认自己每次复制的数据量: 一个master节点可以配置多个slave节点: slave节点可以连接其他的slave节点…