开发了很多年,做了很多系统,非常感谢那些给我机会公司,也非常感谢给我指导的人。但是成长的路,最重要的是需要自己的思考,更需要从实际经验中反思。
本篇文章的目的,在于为了后续职业的长久的生命力,切入更为深入的赛道。
有以下问题需要深入反思:
- redis
- 单个节点的redis,一条更新语句执行流程是什么
- redis的不同数据结构, 内部是如何实现的, 为什么要用这样的方式实现?
- 分布式的redis,cluster集群的数据是如何分布的
- redis的主从,在整个集群中,是怎么切换的?
- redis的主从, 数据是如何同步的?
- redis的cluster集群,相互间如何通信, 协议是怎么样的
- redis的rdb, 做快照的时序图是什么样的?
- mysql
- 单个节点的mysql, 一条更新语句的执行流程是什么
- mysql如何保证事务的ACID特性? 实现机制是什么? 尤其是安全性是怎么保证的?
- mysql的innodb引擎,架构是什么样的?内部实现机制怎么样的? 为什么要用这种方式?
- mysql的主从,复制机制是什么样的?
- mysql如何使用linux的系统调用的
- 分布式理论
- paxos协议, 每一步的规则是什么? 在解决什么问题? 为什么要用这种协议?
- 二阶段提交/三阶段提交
- 大规模分布式存储系统