66
66
- [ Spring/SpringBoot] ( #springspringboot )
67
67
- [ MyBatis] ( #mybatis )
68
68
- [ Netty (必看 :+1 : )] ( #netty-必看-1 )
69
+ - [ ZooKeeper] ( #zookeeper )
69
70
- [ 认证授权] ( #认证授权 )
70
71
- [ JWT] ( #jwt )
71
72
- [ SSO(单点登录)] ( #sso单点登录 )
72
73
- [ 分布式] ( #分布式 )
74
+ - [ CAP 理论] ( #cap-理论 )
75
+ - [ BASE 理论] ( #base-理论 )
76
+ - [ Paxos 算法和 Raft 算法] ( #paxos-算法和-raft-算法 )
73
77
- [ 搜索引擎] ( #搜索引擎 )
74
78
- [ RPC] ( #rpc )
75
79
- [ API 网关] ( #api-网关 )
76
80
- [ 分布式 id] ( #分布式-id )
77
- - [ ZooKeeper] ( #zookeeper )
78
81
- [ 微服务] ( #微服务 )
79
82
- [ 高并发] ( #高并发 )
80
83
- [ 消息队列] ( #消息队列 )
81
84
- [ 读写分离] ( #读写分离 )
82
85
- [ 分库分表] ( #分库分表 )
83
86
- [ 负载均衡] ( #负载均衡 )
84
87
- [ 高可用] ( #高可用 )
85
- - [ CAP 理论] ( #cap-理论 )
86
- - [ BASE 理论] ( #base-理论 )
87
88
- [ 限流] ( #限流 )
88
89
- [ 降级] ( #降级 )
89
90
- [ 熔断] ( #熔断 )
211
212
212
213
### Redis
213
214
214
- 1 . [ 关于缓存的一些重要概念(Redis 前置菜)] ( docs/database/Redis/some-concepts-of-caching.md )
215
215
2 . [ Redis 常见问题总结] ( docs/database/Redis/redis-all.md )
216
216
217
217
## 系统设计
248
248
1 . [ 剖析面试最常见问题之 Netty(上)] ( https://xiaozhuanlan.com/topic/4028536971 )
249
249
2 . [ 剖析面试最常见问题之 Netty(下)] ( https://xiaozhuanlan.com/topic/3985146207 )
250
250
251
+ #### ZooKeeper
252
+
253
+ > 前两篇文章可能有内容重合部分,推荐都看一遍。
254
+
255
+ 1 . [ 【入门】ZooKeeper 相关概念总结] ( docs/system-design/distributed-system/zookeeper/zookeeper-intro.md )
256
+ 2 . [ 【进阶】ZooKeeper 相关概念总结] ( docs/system-design/distributed-system/zookeeper/zookeeper-plus.md )
257
+ 3 . [ 【实战】ZooKeeper 实战] ( docs/system-design/distributed-system/zookeeper/zookeeper-in-action.md )
258
+
251
259
### 认证授权
252
260
253
261
** [ 《认证授权基础》] ( docs/system-design/authority-certification/basis-of-authority-certification.md ) ** 这篇文章中我会介绍认证授权常见概念: ** Authentication** ,** Authorization** 以及 ** Cookie** 、** Session** 、Token、** OAuth 2** 、** SSO** 。如果你不清楚这些概念的话,建议好好阅读一下这篇文章。
263
271
264
272
### 分布式
265
273
266
- [ 分布式相关概念入门] ( docs/system-design/distributed-system/分布式.md )
274
+ #### CAP 理论
275
+
276
+ CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。
277
+
278
+ 关于 CAP 的详细解读请看:[ 《CAP理论解读》] ( docs/system-design/distributed-system/CAP理论.md ) 。
279
+
280
+ #### BASE 理论
281
+
282
+ ** BASE** 是 ** Basically Available(基本可用)** 、** Soft-state(软状态)** 和 ** Eventually Consistent(最终一致性)** 三个短语的缩写。BASE 理论是对 CAP 中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于 CAP 定理逐步演化而来的,它大大降低了我们对系统的要求。
283
+
284
+ 关于 CAP 的详细解读请看:[ 《BASE理论解读》] ( docs/system-design/distributed-system/BASE理论.md ) 。
285
+
286
+ #### Paxos 算法和 Raft 算法
287
+
288
+ ** Paxos 算法** 诞生于 1900 年,这是一种解决分布式系统一致性的经典算法 。但是,由于 Paxos 算法非常难以理解和实现,不断有人尝试简化这一算法。到了2013 年才诞生了一个比 Paxos 算法更易理解和实现的分布式一致性算法—** Raft 算法** 。
267
289
268
290
#### 搜索引擎
269
291
@@ -275,6 +297,7 @@ RPC 让调用远程服务调用像调用本地方法那样简单。
275
297
276
298
1 . [ Dubbo 总结:关于 Dubbo 的重要知识点] ( docs/system-design/distributed-system/rpc/关于Dubbo的重要知识点.md )
277
299
2 . [ 服务之间的调用为啥不直接用 HTTP 而用 RPC?] ( docs/system-design/distributed-system/rpc/服务之间的调用为啥不直接用HTTP而用RPC.md )
300
+ 3 . [ 一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架] ( https://github.com/Snailclimb/guide-rpc-framework )
278
301
279
302
#### API 网关
280
303
@@ -287,13 +310,11 @@ RPC 让调用远程服务调用像调用本地方法那样简单。
287
310
288
311
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。比如数据量太大之后,往往需要对进行对数据进行分库分表,分库分表后需要有一个唯一 ID 来标识一条数据或消息,数据库的自增 ID 显然不能满足需求。相关阅读:[ 为什么要分布式 id ?分布式 id 生成方案有哪些?] ( docs/system-design/micro-service/分布式id生成方案总结.md )
289
312
290
- #### ZooKeeper
313
+ #### 分布式事务
291
314
292
- > 前两篇文章可能有内容重合部分,推荐都看一遍。
315
+ ** 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 **
293
316
294
- 1 . [ 【入门】ZooKeeper 相关概念总结] ( docs/system-design/distributed-system/zookeeper/zookeeper-intro.md )
295
- 2 . [ 【进阶】ZooKeeper 相关概念总结] ( docs/system-design/distributed-system/zookeeper/zookeeper-plus.md )
296
- 3 . [ 【实战】ZooKeeper 实战] ( docs/system-design/distributed-system/zookeeper/zookeeper-in-action.md )
317
+ 简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
297
318
298
319
### 微服务
299
320
@@ -338,18 +359,6 @@ RPC 让调用远程服务调用像调用本地方法那样简单。
338
359
339
360
相关阅读: ** 《[ 如何设计一个高可用系统?要考虑哪些地方?] ( docs/system-design/high-availability/如何设计一个高可用系统要考虑哪些地方.md ) 》** 。
340
361
341
- #### CAP 理论
342
-
343
- CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。
344
-
345
- 关于 CAP 的详细解读请看:[ 《CAP理论解读》] ( docs/system-design/high-availability/CAP理论.md ) 。
346
-
347
- #### BASE 理论
348
-
349
- ** BASE** 是 ** Basically Available(基本可用)** 、** Soft-state(软状态)** 和 ** Eventually Consistent(最终一致性)** 三个短语的缩写。BASE 理论是对 CAP 中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于 CAP 定理逐步演化而来的,它大大降低了我们对系统的要求。
350
-
351
- 关于 CAP 的详细解读请看:[ 《BASE理论解读》] ( docs/system-design/high-availability/BASE理论.md ) 。
352
-
353
362
#### 限流
354
363
355
364
限流是从用户访问压力的角度来考虑如何应对系统故障。
0 commit comments