Skip to content

Commit d8f1606

Browse files
committed
[docs add]add some content to make it more perfect
1 parent dd43c8f commit d8f1606

22 files changed

+566
-105
lines changed

README.md

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -303,38 +303,38 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
303303

304304
## 分布式
305305

306-
### CAP 理论和 BASE 理论
307-
308-
[CAP 理论和 BASE 理论解读](./docs/distributed-system/theorem&algorithm&protocol/cap&base-theorem.md)
309-
310-
### Paxos 算法和 Raft 算法
306+
### 理论&算法&协议
311307

308+
- [CAP 理论和 BASE 理论解读](./docs/distributed-system/theorem&algorithm&protocol/cap&base-theorem.md)
312309
- [Paxos 算法解读](./docs/distributed-system/theorem&algorithm&protocol/paxos-algorithm.md)
313310
- [Raft 算法解读](./docs/distributed-system/theorem&algorithm&protocol/raft-algorithm.md)
314311

315-
### RPC
316-
317-
* [RPC 基础常见知识点&面试题总结](./docs/distributed-system/rpc/rpc-intro.md)
318-
* [Dubbo 常见知识点&面试题总结](./docs/distributed-system/rpc/dubbo.md)
319-
320312
### API 网关
321313

322-
* [为什么要网关?你知道有哪些常见的网关系统?](./docs/distributed-system/api-gateway.md)
323-
* [百亿规模API网关服务Shepherd的设计与实现](https://tech.meituan.com/2021/05/20/shepherd-api-gateway.html)
314+
[API 网关详解](./docs/distributed-system/api-gateway.md)
324315

325-
### 分布式 id
316+
### 分布式 ID
326317

327-
[为什么要分布式 id ?分布式 id 生成方案有哪些?](./docs/distributed-system/distributed-id.md)
318+
[分布式 ID 详解](./docs/distributed-system/distributed-id.md)
328319

329320
### 分布式锁
330321

331-
[分布式锁](./docs/distributed-system/distributed-lock.md)
322+
[分布式锁详解](./docs/distributed-system/distributed-lock.md)
332323

333324
### 分布式事务
334325

335-
[分布式事务](./docs/distributed-system/distributed-transaction.md)
326+
[分布式事务详解](./docs/distributed-system/distributed-transaction.md)
327+
328+
### 分布式配置中心
336329

337-
### 分布式协调
330+
[分布式配置中心详解](./docs/distributed-system/distributed-configuration-center.md)
331+
332+
### RPC
333+
334+
* [RPC 基础常见知识点&面试题总结](./docs/distributed-system/rpc/rpc-intro.md)
335+
* [Dubbo 常见知识点&面试题总结](./docs/distributed-system/rpc/dubbo.md)
336+
337+
### ZooKeeper
338338

339339
> 前两篇文章可能有内容重合部分,推荐都看一遍。
340340
@@ -344,41 +344,49 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
344344

345345
## 高性能
346346

347-
### 消息队列
348-
349-
消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: [消息队列常见问题总结](./docs/high-performance/message-queue/message-queue.md)
347+
### 数据库读写分离&分库分表
350348

351-
- **RabbitMQ** : [RabbitMQ 基础知识总结](./docs/high-performance/message-queue/rabbitmq-intro.md)[RabbitMQ 常见面试题](./docs/high-performance/message-queue/rabbitmq-questions.md)
352-
- **RocketMQ** : [RocketMQ 基础知识总结](./docs/high-performance/message-queue/rocketmq-intro.md)[RocketMQ 常见面试题总结](./docs/high-performance/message-queue/rocketmq-questions.md)
353-
- **Kafka**[Kafka 常见问题总结](./docs/high-performance/message-queue/kafka-questions-01.md)
349+
[数据库读写分离&分库分表详解](./docs/high-performance/read-and-write-separation-and-library-subtable.md)
354350

355-
### 读写分离&分库分表
351+
### 负载均衡
356352

357-
[读写分离&分库分表](./docs/high-performance/read-and-write-separation-and-library-subtable.md)
353+
[负载均衡详解](./docs/high-performance/load-balancing.md)
358354

359-
### 负载均衡
355+
### SQL 优化
360356

361-
[负载均衡](./docs/high-performance/load-balancing.md)
357+
[常见 SQL 优化手段总结](./docs/high-performance/sql-optimization.md)
362358

363359
### CDN
364360

365-
[CDN(内容分发网络)](./docs/high-performance/cdn.md)
361+
[CDN(内容分发网络)详解](./docs/high-performance/cdn.md)
362+
363+
### 消息队列
364+
365+
消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: [消息队列常见问题总结](./docs/high-performance/message-queue/message-queue.md)
366+
367+
- **RabbitMQ** : [RabbitMQ 基础知识总结](./docs/high-performance/message-queue/rabbitmq-intro.md)[RabbitMQ 常见面试题](./docs/high-performance/message-queue/rabbitmq-questions.md)
368+
- **RocketMQ** : [RocketMQ 基础知识总结](./docs/high-performance/message-queue/rocketmq-intro.md)[RocketMQ 常见面试题总结](./docs/high-performance/message-queue/rocketmq-questions.md)
369+
- **Kafka**[Kafka 常见问题总结](./docs/high-performance/message-queue/kafka-questions-01.md)
366370

367371
## 高可用
368372

369-
[高可用系统设计指南](./docs/high-availability/high-availability-system-design.md)
373+
[高可用系统设计指南](./docs/high-availability/high-availability-system-design.md)
374+
375+
### 冗余设计
376+
377+
[冗余设计详解](./docs/high-availability/redundancy.md)
370378

371379
### 限流
372380

373-
[何为限流?限流算法有哪些?](./docs/high-availability/limit-request.md)
381+
[服务限流详解](./docs/high-availability/limit-request.md)
374382

375383
### 降级&熔断
376384

377-
[降级&熔断](./docs/high-availability/fallback&circuit-breaker.md)
385+
[降级&熔断详解](./docs/high-availability/fallback&circuit-breaker.md)
378386

379387
### 超时&重试
380388

381-
[超时&重试](./docs/high-availability/timeout-and-retry.md)
389+
[超时&重试详解](./docs/high-availability/timeout-and-retry.md)
382390

383391
### 集群
384392

docs/.vuepress/sidebar.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export const sidebarConfig = defineSidebarConfig({
2525
collapsable: true,
2626
children: [
2727
"teach-you-how-to-prepare-for-the-interview-hand-in-hand",
28+
"project-experience-guide",
2829
"interview-experience",
2930
"self-test-of-common-interview-questions",
3031
],
@@ -401,15 +402,16 @@ export const sidebarConfig = defineSidebarConfig({
401402
"api-gateway",
402403
"distributed-id",
403404
"distributed-lock",
405+
"distributed-transaction",
406+
"distributed-configuration-center",
404407
{
405-
text: "RPC",
408+
text: "RPC(远程调用)详解",
406409
prefix: "rpc/",
407410
collapsable: true,
408411
children: ["rpc-intro", "dubbo"],
409412
},
410-
"distributed-transaction",
411413
{
412-
text: "分布式协调",
414+
text: "ZooKeeper 详解",
413415
prefix: "distributed-process-coordination/",
414416
collapsable: true,
415417
children: [
@@ -429,6 +431,7 @@ export const sidebarConfig = defineSidebarConfig({
429431
"read-and-write-separation-and-library-subtable",
430432
"load-balancing",
431433
"cdn",
434+
"sql-optimization",
432435
{
433436
text: "消息队列",
434437
prefix: "message-queue/",

docs/database/redis/redis-cluster.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ tag:
77

88
**Redis 集群** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。
99

10+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/database/redis/redis-cluster-javamianshizhibei.png)
11+
1012
[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。
1113

1214
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png)

docs/database/redis/redis-questions-02.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,30 @@ Cache Aside Pattern 中遇到写请求是这样的:更新 DB,然后直接删
342342
343343
相关文章推荐:[缓存和数据库一致性问题,看这篇就够了 - 水滴与银弹](https://mp.weixin.qq.com/s?__biz=MzIyOTYxNDI5OA==&mid=2247487312&idx=1&sn=fa19566f5729d6598155b5c676eee62d&chksm=e8beb8e5dfc931f3e35655da9da0b61c79f2843101c130cf38996446975014f958a6481aacf1&scene=178&cur_album_id=1699766580538032128#rd)
344344
345+
## Redis 集群
346+
347+
**Redis Sentinel**
348+
349+
1. 什么是 Sentinel? 有什么用?
350+
2. Sentinel 如何检测节点是否下线?主观下线与客观下线的区别?
351+
3. Sentinel 是如何实现故障转移的?
352+
4. 为什么建议部署多个 sentinel 节点(哨兵集群)?
353+
5. Sentinel 如何选择出新的 master(选举机制)?
354+
6. 如何从 Sentinel 集群中选择出 Leader ?
355+
7. Sentinel 可以防止脑裂吗?
356+
357+
**Redis Cluster**
358+
359+
1. 为什么需要 Redis Cluster?解决了什么问题?有什么优势?
360+
2. Redis Cluster 是如何分片的?
361+
3. 为什么 Redis Cluster 的哈希槽是 16384 个?
362+
4. 如何确定给定 key 的应该分布到哪个哈希槽中?
363+
5. Redis Cluster 支持重新分配哈希槽吗?
364+
6. Redis Cluster 扩容缩容期间可以提供服务吗?
365+
7. Redis Cluster 中的节点是怎么进行通信的?
366+
367+
**参考答案** :[Redis 集群详解(付费)](redis-cluster.md)。
368+
345369
## 参考
346370
347371
- 《Redis 开发与运维》

docs/distributed-system/api-gateway.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: 网关
2+
title: API 网关详解
33
category: 分布式
44
---
55

6-
## 何为网关?为什么要网关
6+
## 什么是网关?有什么用
77

88
微服务背景下,一个系统被拆分为多个服务,但是像安全认证,流量控制,日志,监控等功能是每个服务都需要的,没有网关的话,我们就需要在每个服务中单独实现,这使得我们做了很多重复的事情并且没有一个全局的视图来统一管理这些功能。
99

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: 分布式配置中心详解(付费)
3+
category: 分布式
4+
---
5+
6+
**分布式配置中心** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。
7+
8+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/javamianshizhibei/distributed-system.png)
9+
10+
[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。
11+
12+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png)
13+
14+
[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。
15+
16+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png)
17+
18+
最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。
19+
20+
为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。
21+
22+
欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多,学习氛围非常好!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
23+
24+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220311203414600.png)
25+
26+
下面是星球提供的部分服务(点击下方图片即可获取知识星球的详细介绍):
27+
28+
<div align="center">
29+
<a href="https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html">
30+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/xingqiufuwu.png" style="margin: 0 auto; " />
31+
</a>
32+
</div>
33+
34+
35+
我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!
36+
37+
如果你感兴趣的话,不妨花 3 分钟左右看看星球的详细介绍: [JavaGuide 知识星球详细介绍](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(文末有优惠券)。
38+
39+
<div align="center">
40+
<a href="https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html">
41+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/xingqiuyouhuijuanheyi.png" style="margin: 0 auto; " />
42+
</a>
43+
</div>
44+

docs/distributed-system/distributed-id.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 分布式 ID
2+
title: 分布式 ID 详解
33
category: 分布式
44
---
55

docs/distributed-system/distributed-lock.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 分布式锁
2+
title: 分布式锁详解
33
category: 分布式
44
---
55

@@ -204,7 +204,7 @@ Redis 集群下,上面介绍到的分布式锁的实现会存在一些问题
204204

205205
针对这个问题,Redis 之父 antirez 设计了 [Redlock 算法](https://redis.io/topics/distlock) 来解决。
206206

207-
![](images/distributed-lock/distributed-lock-redis.io-realock.png)
207+
![](./images/distributed-lock/distributed-lock-redis.io-realock.png)
208208

209209
Redlock 算法的思想是让客户端向 Redis 集群中的多个独立的 Redis 实例依次请求申请加锁,如果客户端能够和半数以上的实例成功地完成加锁操作,那么我们就认为,客户端成功地获得分布式锁,否则加锁失败。
210210

docs/distributed-system/distributed-transaction.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
2-
title: 分布式事务(付费)
2+
title: 分布式事务详解(付费)
33
category: 分布式
44
---
55

66
**分布式事务** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。
77

8+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/javamianshizhibei/distributed-system.png)
9+
810
[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。
911

1012
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png)

docs/high-availability/fallback&circuit-breaker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 降级&熔断(付费)
2+
title: 降级&熔断详解(付费)
33
category: 高可用
44
---
55

0 commit comments

Comments
 (0)