分布式系统设计的考点不外乎:理论、分布式事务、分布式服务、分布式存储、分布式缓存、消息队列、高可用、监控、日志、容器化持续集成与交付。
问题细化下:
-
CAP 理论及其证明
-
为什么分布式系统的一致性和可用性不能同时满足
-
CP 和 AP 架构的取舍
-
Base 理论及其与 CAP 的关系
-
如何理解 Paxos 算法
-
Zookeeper 对 Zab 协议的应用,Zab 与 Paxos 的联系与区别
-
分布式事务的解决方案
-
解决分布式事务的开源组件
-
三阶段提交比二阶段提交的改进
-
MySQL 如何实现 XA 规范
-
TCC 事务模型的实现
-
分布式锁如何实现
-
如何选择实现强一致性还是弱一致性
-
如何设计分布式事务,实现最终一致性
-
RPC 如何实现
-
Dubbo 与 Spring Cloud 技术栈如何选型
-
为什么需要网关,如何实现
-
如何实现服务的注册与发现
-
如何实现(全)链路追踪
-
如何实现配置管理
-
常见的负载均衡策略
-
如何实现负载均衡
-
常见的限流算法
-
如何在分布式系统中限流
-
如何实现熔断、降级
-
如何实现数据库读写分离
-
如何实现数据库分库分表、如何扩容
-
一致性哈希的原理与应用
-
如何生成分布式主键
-
NoSQL 数据库在系统中如何应用
-
如何实现搜索(ES)
-
如何实现文件存储
-
如何实现任务调度
-
什么场景如何使用了消息队列
-
如何保证消息不被重复消费
-
如何保证消息消费的时序性
-
如何保证消息不丢失
-
消息队列满了如何处理
-
消息大量积压如何处理
-
如何实现消息队列的高可用
-
消息队列的技术选型
-
从前端到后端,分布式系统中用到了哪些缓存
-
如何解决缓存穿透、缓存击穿、缓存雪崩
-
如何保证缓存与数据库的一致性
-
如何制定缓存的失效策略
-
如何实现缓存的高可用
-
分布式系统如何实现监控,有哪些指标
-
如何实现日志系统
-
容器化和服务编排的应用
-
如何理解 Service Mesh