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