auto commit

This commit is contained in:
CyC2018 2019-02-17 12:21:02 +08:00
parent ab86165081
commit 563fcbdc90
25 changed files with 12 additions and 14 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -34,11 +34,11 @@
下图中,一共有 6 个客户端产生了 6 个请求,这 6 个请求按 (1, 2, 3, 4, 5, 6) 的顺序发送。(1, 3, 5) 的请求会被发送到服务器 1(2, 4, 6) 的请求会被发送到服务器 2。
<div align="center"> <img src="pics/2766d04f-7dad-42e4-99d1-60682c9d5c61.jpg"/> </div><br>
<div align="center"> <img src="pics/b02fcffd-ed09-4ef9-bc5f-8f0e0383eb1a.jpg"/> </div><br>
该算法比较适合每个服务器的性能差不多的场景,如果有性能存在差异的情况下,那么性能较差的服务器可能无法承担过大的负载(下图的 Server 2
<div align="center"> <img src="pics/f7ecbb8d-bb8b-4d45-a3b7-f49425d6d83d.jpg"/> </div><br>
<div align="center"> <img src="pics/73c72e75-193c-4092-aa43-b9c6703c4a22.jpg"/> </div><br>
### 2. 加权轮询Weighted Round Robbin
@ -46,7 +46,7 @@
例如下图中,服务器 1 被赋予的权值为 5服务器 2 被赋予的权值为 1那么 (1, 2, 3, 4, 5) 请求会被发送到服务器 1(6) 请求会被发送到服务器 2。
<div align="center"> <img src="pics/211c60d4-75ca-4acd-8a4f-171458ed58b4.jpg"/> </div><br>
<div align="center"> <img src="pics/92691356-4f7a-46ec-9921-13055d3dcb12.jpg"/> </div><br>
### 3. 最少连接least Connections
@ -54,27 +54,25 @@
例如下图中,(1, 3, 5) 请求会被发送到服务器 1但是 (1, 3) 很快就断开连接,此时只有 (5) 请求连接服务器 1(2, 4, 6) 请求被发送到服务器 2只有 (2) 的连接断开,此时 (6, 4) 请求连接服务器 2。该系统继续运行时服务器 2 会承担过大的负载。
<div align="center"> <img src="pics/3b0d1aa8-d0e0-46c2-8fd1-736bf08a11aa.jpg"/> </div><br>
<div align="center"> <img src="pics/8089a19a-6239-47a0-bf69-54203117d4dc.jpg"/> </div><br>
最少连接算法就是将请求发送给当前最少连接数的服务器上。
例如下图中,服务器 1 当前连接数最小,那么新到来的请求 6 就会被发送到服务器 1 上。
<div align="center"> <img src="pics/1f4a7f10-52b2-4bd7-a67d-a9581d66dc62.jpg"/> </div><br>
<div align="center"> <img src="pics/181edd46-e640-472a-9119-a697de0d2a82.jpg"/> </div><br>
### 4. 加权最少连接Weighted Least Connection
在最少连接的基础上,根据服务器的性能为每台服务器分配权重,再根据权重计算出每台服务器能处理的连接数。
<div align="center"> <img src="pics/44edefb7-4b58-4519-b8ee-4aca01697b78.jpg"/> </div><br>
### 5. 随机算法Random
把请求随机发送到服务器上。
和轮询算法类似,该算法比较适合服务器性能差不多的场景。
<div align="center"> <img src="pics/0ee0f61b-c782-441e-bf34-665650198ae0.jpg"/> </div><br>
<div align="center"> <img src="pics/67173c9f-ac87-496a-bd0a-0b1a5cfa735a.jpg"/> </div><br>
### 6. 源地址哈希法 (IP Hash)
@ -82,7 +80,7 @@
可以保证同一 IP 的客户端的请求会转发到同一台服务器上用来实现会话粘滞Sticky Session
<div align="center"> <img src="pics/2018040302.jpg"/> </div><br>
<div align="center"> <img src="pics/9d3c6bfb-4c4c-4b77-9410-56b3f82106d1.jpg"/> </div><br>
## 转发实现
@ -97,7 +95,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
该负载均衡转发的缺点比较明显,实际场景中很少使用它。
<div align="center"> <img src="pics/c5f611f0-fd5c-4158-9003-278141136e6e.jpg"/> </div><br>
<div align="center"> <img src="pics/82a6981a-17aa-4370-b645-8704f44fc4a9.jpg"/> </div><br>
### 2. DNS 域名解析
@ -113,7 +111,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
大型网站基本使用了 DNS 做为第一级负载均衡手段,然后在内部使用其它方式做第二级负载均衡。也就是说,域名解析的结果为内部的负载均衡服务器 IP 地址。
<div align="center"> <img src="pics/76a25fc8-a579-4d7c-974b-7640b57fbf39.jpg"/> </div><br>
<div align="center"> <img src="pics/5d0cb407-f1cc-4b89-ad4a-ec4e9b327c34.jpg"/> </div><br>
### 3. 反向代理服务器
@ -170,7 +168,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 当服务器宕机时,将丢失该服务器上的所有 Session。
<div align="center"> <img src="pics/MultiNode-StickySessions.jpg"/> </div><br>
<div align="center"> <img src="pics/6aee49d3-f6c6-4d14-a81a-080c290de875.jpg"/> </div><br>
## Session Replication
@ -181,7 +179,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 占用过多内存;
- 同步过程占用网络带宽以及服务器处理器时间。
<div align="center"> <img src="pics/MultiNode-SessionReplication.jpg"/> </div><br>
<div align="center"> <img src="pics/8c4def9c-0523-4beb-abe3-46fdb6ae9657.png"/> </div><br>
## Session Server
@ -195,7 +193,7 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服
- 需要去实现存取 Session 的代码。
<div align="center"> <img src="pics/MultiNode-SpringSession.jpg"/> </div><br>
<div align="center"> <img src="pics/a30a06e1-3c6b-4a71-aa03-8aad7fc44b4e.png"/> </div><br>
参考:

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB