这些年,分布式框架越用越成熟,越用越广泛。几前年还只是架构师和高级开发的面试必考题,现在已经连应届生都要面对了。

分布式框架看似又多又复杂,但主要集中在协调类框架如 Zookeeper,分布式缓存如 Redis,消息队列如 Kafka,数据库 MySQL 的分库分表方案如 MyCat,全文检索如 ElasticSearch,微服务如 Dubbo,方向代理如 Nginx。
每种技术都有多个框架供大家选择,具体应用依赖业务场景,大厂们内部也有自己的实现,一般面试官要求同类型的框架深入了解一个即可,毕竟学会了一个,其他就很容易入手。
我这里也就每种类型都列举了一个,其中消息队列选了两个,因为笔者所在的部门根据业务的不同经常用两种队列,所以笔者感觉有必要提到两个。

注意:篇幅原因,下面从存储、数据库、中间件ZK、消息kafka、微服务dubbo、方向代理Nginx等方面介绍各个所需学习的知识点以及一些Java高级面试必备的题目、一些自己学习过程中的笔记以及收集的各大分布式笔记PDF,很多只是截图介绍展示一下。
01 分布式存储相关(Redis)
1.1 Redis应该学习的那些知识
- String 的内部结构及实现原理
- List 的内部结构及实现原理
- Map 的内部结构及实现原理
- Set 的内部结构及实现原理
- SortedSet 的内部结构及实现原理
- Redis 有 timeout 机制,请问到了过期时间,数据是否真的被删除了?
- Redis 的持久化机制 Redis 是单进程单线程?性能为什么这么快?
- Redis 的集群
- Redis 的哨兵
- Redis 缓存与数据一致性的问题 缓存雪崩 缓存击穿
- Redis 的内存回收策略
- 管道和 Lua 脚本
- 一致性哈希算法
- 手写一个 LRU 算法
- Redis 版的分布式锁
1.2 根据以上知识整理Redis超高频面试70问(六大模块)
- Redis概念理解
- Redis数据结构与指令

这篇博客详述了分布式系统中的关键组件,包括Redis的内部结构、缓存策略与面试题,MySQL的分库分表及高可用方案,Zookeeper的ZAB协议和分布式锁实现,以及Kafka与RabbitMQ的消息队列知识点。内容涵盖存储、数据库、中间件和消息传递,是进阶为高级开发者或准备阿里P7面试的宝贵资源。
596

被折叠的 条评论
为什么被折叠?



