diff --git a/docs/notes/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg b/docs/notes/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg
new file mode 100644
index 00000000..306d1c66
Binary files /dev/null and b/docs/notes/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg differ
diff --git a/docs/notes/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg b/docs/notes/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg
new file mode 100644
index 00000000..4b977538
Binary files /dev/null and b/docs/notes/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg differ
diff --git a/docs/notes/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg b/docs/notes/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg
new file mode 100644
index 00000000..48f3136c
Binary files /dev/null and b/docs/notes/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg differ
diff --git a/docs/notes/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg b/docs/notes/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg
new file mode 100644
index 00000000..48b1bd5d
Binary files /dev/null and b/docs/notes/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg differ
diff --git a/docs/notes/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg b/docs/notes/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg
new file mode 100644
index 00000000..5b905db1
Binary files /dev/null and b/docs/notes/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg differ
diff --git a/docs/notes/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg b/docs/notes/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg
new file mode 100644
index 00000000..5f34004b
Binary files /dev/null and b/docs/notes/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg differ
diff --git a/docs/notes/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg b/docs/notes/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg
new file mode 100644
index 00000000..df6e3092
Binary files /dev/null and b/docs/notes/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg differ
diff --git a/docs/notes/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png b/docs/notes/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png
new file mode 100644
index 00000000..ad36e323
Binary files /dev/null and b/docs/notes/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png differ
diff --git a/docs/notes/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg b/docs/notes/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg
new file mode 100644
index 00000000..2a736557
Binary files /dev/null and b/docs/notes/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg differ
diff --git a/docs/notes/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg b/docs/notes/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg
new file mode 100644
index 00000000..9f4f5f04
Binary files /dev/null and b/docs/notes/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg differ
diff --git a/docs/notes/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png b/docs/notes/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png
new file mode 100644
index 00000000..1f6db87f
Binary files /dev/null and b/docs/notes/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png differ
diff --git a/docs/notes/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg b/docs/notes/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg
new file mode 100644
index 00000000..a0df23c8
Binary files /dev/null and b/docs/notes/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg differ
diff --git a/docs/notes/集群.md b/docs/notes/集群.md
index 2e75f19b..f98d182f 100644
--- a/docs/notes/集群.md
+++ b/docs/notes/集群.md
@@ -34,11 +34,11 @@
下图中,一共有 6 个客户端产生了 6 个请求,这 6 个请求按 (1, 2, 3, 4, 5, 6) 的顺序发送。(1, 3, 5) 的请求会被发送到服务器 1,(2, 4, 6) 的请求会被发送到服务器 2。
-
+
该算法比较适合每个服务器的性能差不多的场景,如果有性能存在差异的情况下,那么性能较差的服务器可能无法承担过大的负载(下图的 Server 2)。
-
+
### 2. 加权轮询(Weighted Round Robbin)
@@ -46,7 +46,7 @@
例如下图中,服务器 1 被赋予的权值为 5,服务器 2 被赋予的权值为 1,那么 (1, 2, 3, 4, 5) 请求会被发送到服务器 1,(6) 请求会被发送到服务器 2。
-
+
### 3. 最少连接(least Connections)
@@ -54,27 +54,25 @@
例如下图中,(1, 3, 5) 请求会被发送到服务器 1,但是 (1, 3) 很快就断开连接,此时只有 (5) 请求连接服务器 1;(2, 4, 6) 请求被发送到服务器 2,只有 (2) 的连接断开,此时 (6, 4) 请求连接服务器 2。该系统继续运行时,服务器 2 会承担过大的负载。
-
+
最少连接算法就是将请求发送给当前最少连接数的服务器上。
例如下图中,服务器 1 当前连接数最小,那么新到来的请求 6 就会被发送到服务器 1 上。
-
+
### 4. 加权最少连接(Weighted Least Connection)
在最少连接的基础上,根据服务器的性能为每台服务器分配权重,再根据权重计算出每台服务器能处理的连接数。
-
-
### 5. 随机算法(Random)
把请求随机发送到服务器上。
和轮询算法类似,该算法比较适合服务器性能差不多的场景。
-
+
### 6. 源地址哈希法 (IP Hash)
@@ -82,7 +80,7 @@
可以保证同一 IP 的客户端的请求会转发到同一台服务器上,用来实现会话粘滞(Sticky Session)
-
+
## 转发实现
@@ -97,7 +95,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
该负载均衡转发的缺点比较明显,实际场景中很少使用它。
-
+
### 2. DNS 域名解析
@@ -113,7 +111,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
大型网站基本使用了 DNS 做为第一级负载均衡手段,然后在内部使用其它方式做第二级负载均衡。也就是说,域名解析的结果为内部的负载均衡服务器 IP 地址。
-
+
### 3. 反向代理服务器
@@ -170,7 +168,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 当服务器宕机时,将丢失该服务器上的所有 Session。
-
+
## Session Replication
@@ -181,7 +179,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 占用过多内存;
- 同步过程占用网络带宽以及服务器处理器时间。
-
+
## Session Server
@@ -195,7 +193,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 需要去实现存取 Session 的代码。
-
+
参考:
diff --git a/docs/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg b/docs/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg
new file mode 100644
index 00000000..306d1c66
Binary files /dev/null and b/docs/pics/181edd46-e640-472a-9119-a697de0d2a82.jpg differ
diff --git a/docs/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg b/docs/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg
new file mode 100644
index 00000000..4b977538
Binary files /dev/null and b/docs/pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg differ
diff --git a/docs/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg b/docs/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg
new file mode 100644
index 00000000..48f3136c
Binary files /dev/null and b/docs/pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg differ
diff --git a/docs/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg b/docs/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg
new file mode 100644
index 00000000..48b1bd5d
Binary files /dev/null and b/docs/pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg differ
diff --git a/docs/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg b/docs/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg
new file mode 100644
index 00000000..5b905db1
Binary files /dev/null and b/docs/pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg differ
diff --git a/docs/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg b/docs/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg
new file mode 100644
index 00000000..5f34004b
Binary files /dev/null and b/docs/pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg differ
diff --git a/docs/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg b/docs/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg
new file mode 100644
index 00000000..df6e3092
Binary files /dev/null and b/docs/pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg differ
diff --git a/docs/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png b/docs/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png
new file mode 100644
index 00000000..ad36e323
Binary files /dev/null and b/docs/pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png differ
diff --git a/docs/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg b/docs/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg
new file mode 100644
index 00000000..2a736557
Binary files /dev/null and b/docs/pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg differ
diff --git a/docs/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg b/docs/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg
new file mode 100644
index 00000000..9f4f5f04
Binary files /dev/null and b/docs/pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg differ
diff --git a/docs/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png b/docs/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png
new file mode 100644
index 00000000..1f6db87f
Binary files /dev/null and b/docs/pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png differ
diff --git a/docs/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg b/docs/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg
new file mode 100644
index 00000000..a0df23c8
Binary files /dev/null and b/docs/pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg differ