问渠哪得清如许?为有源头活水来

winter约 3226 字大约 11 分钟

项目相关

Java

基础

知识点/面试题总结 : (必看👍 ):

重要知识点详解

集合

知识点/面试题总结

源码分析

IO

并发

知识点/面试题总结 : (必看 👍)

重要知识点详解

JVM (必看 👍)

JVM 这部分内容主要参考 JVM 虚拟机规范-Java8 open in new window 和周志明老师的《深入理解Java虚拟机(第3版)》open in new window (强烈建议阅读多遍!)。

新特性

计算机基础

操作系统

网络

知识点/面试题总结

重要知识点详解

数据结构

图解数据结构:

其他常用数据结构 :

算法

算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:

常见算法问题总结

另外,GeeksforGeeksopen in new window 这个网站总结了常见的算法 ,比较全面系统。

数据库

基础

MySQL

知识点/面试题总结:

重要知识点:

Redis

知识点/面试题总结 : (必看👍 ):

重要知识点:

MongoDB

搜索引擎

Elasticsearch常见面试题总结(付费)

开发工具

Maven

Maven 核心概念总结

Gradle

Gradle 核心概念总结(可选,目前国内还是使用 Maven 普遍一些)

Docker

Git

系统设计

基础

常用框架

Spring/SpringBoot (必看 👍)

知识点/面试题总结 :

重要知识点详解

MyBatis

MyBatis 常见面试题总结

安全

认证授权

数据脱敏

数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。

敏感词过滤

敏感词过滤方案总结

定时任务

Java 定时任务详解

Web 实时消息推送

Web 实时消息推送详解

分布式

理论&算法&协议

API 网关

API 网关详解

分布式 ID

分布式 ID 详解

分布式锁

分布式锁详解

分布式事务

分布式事务详解

分布式配置中心

分布式配置中心详解

RPC

ZooKeeper

前两篇文章可能有内容重合部分,推荐都看一遍。

高性能

数据库读写分离&分库分表

数据库读写分离&分库分表详解

负载均衡

负载均衡详解

SQL 优化

常见 SQL 优化手段总结

CDN

CDN(内容分发网络)详解

消息队列

消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: 消息队列常见问题总结

高可用

高可用系统设计指南

冗余设计

冗余设计详解

限流

服务限流详解

降级&熔断

降级&熔断详解

超时&重试

超时&重试详解

集群

相同的服务部署多份,避免单点故障。

灾备设计和异地多活

灾备 = 容灾+备份。

  • 备份 : 将系统所产生的的所有重要数据多备份几份。
  • 容灾 : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。

异地多活 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。