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