中间件八股文

共 207 节 · 按顺序读,也可以直接点标题跳转

207 节12 个专题免费阅读持续更新

Redis9 题

消息队列(Kafka / RocketMQ / RabbitMQ)10 题

分布式架构7 题

MySQL10 题

Nginx 与网关3 题

缓存架构2 题

稳定性治理4 题

选型与系统设计6 题

消息与缓存(进阶)2 题

MySQL23 题

Redis26 题

77InnoDB 加索引,这个时候会锁表吗?开始阅读 ›78Redis 数据类型有哪几种?开始阅读 ›79Redis 和 Memcached 的区别?开始阅读 ›80Redis 和 Caffeine 的区别是什么?开始阅读 ›81Redis 是单线程还是多线程?开始阅读 ›82Redis 单线程,为什么还这么快?开始阅读 ›83Redis Key 和 Value 的设计原则有哪些?开始阅读 ›84谈谈 Redis 的持久化机制:RDB 与 AOF 的区别?开始阅读 ›85Redis 分布式锁如何实现?开始阅读 ›86Redis 锁是并发安全的吗?怎么保证不被抢夺?开始阅读 ›87怎么解决 Redis 缓存和数据库的一致性问题?开始阅读 ›88Redis 如何实现发布、订阅?开始阅读 ›89谈谈 Redis 5.0 中的 Stream 消息队列?开始阅读 ›90Redis 如何实现延迟消息?开始阅读 ›91谈谈 Redis 的过期策略?开始阅读 ›92谈谈 Redis 的内存淘汰策略?开始阅读 ›93Redis 事务和 Lua 脚本的区别?开始阅读 ›94Redis 为什么要自定义 SDS?开始阅读 ›95Redis 如何高效安全的遍历所有 Key?开始阅读 ›96什么是缓存击穿、缓存穿透、缓存雪崩?开始阅读 ›97什么是大 Key 问题,如何解决?开始阅读 ›98什么是热点 Key 问题,如何解决?开始阅读 ›99谈谈 ZSet 底层实现?开始阅读 ›100谈谈 Redis 集群模式?开始阅读 ›101什么是 Redis 的数据分片?开始阅读 ›102为什么 Redis 不支持回滚?开始阅读 ›

消息队列(Kafka / RocketMQ / RabbitMQ)29 题

103为什么项目要选择 RocketMQ?开始阅读 ›104RocketMQ 的架构是怎么样的?开始阅读 ›105RocketMQ 有几种集群部署方式?开始阅读 ›106RocketMQ 消息堆积了怎么处理?开始阅读 ›107RocketMQ 的消息是推模式,还是拉模式?开始阅读 ›108谈谈 RocketMQ 的事务消息?开始阅读 ›109RocketMQ 怎么保证消息的顺序性?开始阅读 ›110RocketMQ 怎么保证消息不丢失?开始阅读 ›111RabbitMQ 的整体架构是怎样的?开始阅读 ›112RabbitMQ 是如何保证高可用的?开始阅读 ›113RabbitMQ 如何防止重复消费?开始阅读 ›114RabbitMQ 如何保证消息不丢失?开始阅读 ›115RabbitMQ 怎么实现延迟消息?开始阅读 ›116什么是 RabbitMQ 的死信队列?开始阅读 ›117说说 RabbitMQ 的事务机制?开始阅读 ›118RabbitMQ 如何实现消费端限流?开始阅读 ›119怎么保证消息一定能发送到 RabbitMQ?开始阅读 ›120Kafka 的架构是怎么样的?开始阅读 ›121Kafka 为什么这么快?开始阅读 ›122Kafka 有几种选举过程?开始阅读 ›123Kafka 如何实现顺序消费?开始阅读 ›124Kafka 如何保证消息不丢失?开始阅读 ›125为什么 Kafka 没办法 100% 保证消息不丢失?开始阅读 ›126Kafka 消息的发送过程简单介绍一下?开始阅读 ›127Kafka 为什么有 Topic 还要用 Partition?开始阅读 ›128什么是 Kafka 的重平衡机制?开始阅读 ›129介绍一下 Kafka 的 ISR 机制?开始阅读 ›130Kafka 怎么保证消费只消费一次的?开始阅读 ›131Kafka 高水位了解过吗?为什么 Kafka 需要 LeaderEpoch?开始阅读 ›

分布式与 RPC(Dubbo / ZK / Netty / ES)40 题

132Dubbo 的整体架构是怎样的?开始阅读 ›133Dubbo 服务发现与路由的概念有什么不同?开始阅读 ›134Dubbo 的 SPI 和 JDK 的 SPI 有什么区别?开始阅读 ›135为什么 RPC 要比 HTTP 更快?开始阅读 ›136Dubbo 如何实现像本地方法一样调用远程方法的?开始阅读 ›137Dubbo 的服务调用过程是什么样的?开始阅读 ›138什么是 Dubbo 的优雅停机,怎么实现的?开始阅读 ›139Dubbo 支持哪些序列化方式?开始阅读 ›140Dubbo 支持哪些负载均衡策略?开始阅读 ›141Dubbo 支持哪些调用协议?开始阅读 ›142有用过 Dubbo 的异步调用吗?开始阅读 ›143Dubbo 的缓存机制了解吗?开始阅读 ›144Zookeeper 是干什么的?开始阅读 ›145Zookeeper 是 CP 的还是 AP 的?开始阅读 ›146Zookeeper 的典型应用场景有哪些?开始阅读 ›147Zookeeper 的数据结构是怎样的?开始阅读 ›148Zookeeper 的 watch 机制是如何工作的?开始阅读 ›149如何通过 Zookeeper 实现服务注册与发现?开始阅读 ›150如何用 Zookeeper 实现分布式锁?开始阅读 ›151Zookeeper 脑裂是什么?怎么解决?开始阅读 ›152Zookeeper 是如何保证创建的节点是唯一的?开始阅读 ›153为什么 Netty 适合做网络编程?开始阅读 ›154Netty 性能好的原因是什么?开始阅读 ›155Netty 如何解决 TCP 粘包、拆包的问题?开始阅读 ›156Netty 有哪些序列化协议?开始阅读 ›157Netty 的零拷贝是怎么实现的?开始阅读 ›158Netty 的线程模型是怎么样的?开始阅读 ›159Netty 的 ByteBuf 为什么好用?开始阅读 ›160说说 Netty 的对象池技术?开始阅读 ›161谈谈 Netty 的无锁化设计?开始阅读 ›162Netty 中用了哪些设计模式?开始阅读 ›163为什么要使用 ElasticSearch?和传统关系数据库(如 MySQL)有什么不同?开始阅读 ›164ElasticSearch 为什么快?开始阅读 ›165ES 支持哪些数据类型,和 MySQL 之间的映射关系是怎么样的?开始阅读 ›166倒排索引是什么?开始阅读 ›167ES 不支持 decimal,如何避免丢失精度?开始阅读 ›168Elasticsearch 支持事务吗?为什么?开始阅读 ›169什么是 Elasticsearch 的深度分页问题?如何解决?开始阅读 ›170如何优化 ElasticSearch 搜索性能?开始阅读 ›171如何保证 ES 和数据库的数据一致性?开始阅读 ›

设计模式与高可用14 题

分库分表与高并发22 题