Nginx如何跟踪连接数以实现最少连接的负载平衡?

Nginx如何跟踪连接数以实现最少连接的负载平衡?,nginx,Nginx,Nginx如何跟踪连接数以实现最少连接的负载平衡 它实际上如何知道一台服务器有N个连接,而另一台服务器有N+k个连接?Nginx知道,因为它跟踪每个连接拥有的“对等方”数量,因此可以选择对等方连接数量最少的后端 下面是在应用程序中使用的算法 /* *选择连接数最少的对等点;如果有 *具有相同连接数的多个对等点,选择 *基于循环赛 */ if(best==NULL ||对等->连接*最佳->重量连接*对等->重量) { 最佳=同级; 多=0; p=i; }否则如果(对等->连接*最佳->重量==最

Nginx如何跟踪连接数以实现最少连接的负载平衡


它实际上如何知道一台服务器有N个连接,而另一台服务器有N+k个连接?

Nginx知道,因为它跟踪每个连接拥有的“对等方”数量,因此可以选择对等方连接数量最少的后端

下面是在应用程序中使用的算法

/*
*选择连接数最少的对等点;如果有
*具有相同连接数的多个对等点,选择
*基于循环赛
*/
if(best==NULL
||对等->连接*最佳->重量<最佳->连接*对等->重量)
{
最佳=同级;
多=0;
p=i;
}否则如果(对等->连接*最佳->重量==最佳->连接*对等->重量){
多=1;
}

Nginx知道这一点,因为它跟踪每个连接拥有的“对等体”数量,因此可以选择对等体连接数量最少的后端

下面是在应用程序中使用的算法

/*
*选择连接数最少的对等点;如果有
*具有相同连接数的多个对等点,选择
*基于循环赛
*/
if(best==NULL
||对等->连接*最佳->重量<最佳->连接*对等->重量)
{
最佳=同级;
多=0;
p=i;
}否则如果(对等->连接*最佳->重量==最佳->连接*对等->重量){
多=1;
}

是“内存中”跟踪吗?我知道没有引用用于跟踪此信息的文件。内存中的跟踪非常适合Nginx跟踪此数据,因为数据量相对较小,基于内存的访问速度更快。是“内存中”跟踪吗?我知道没有引用用于跟踪此信息的文件。内存中的跟踪非常适合Nginx跟踪这些数据,因为数据量相对较小,基于内存的访问速度更快。
    /*
     * select peer with least number of connections; if there are
     * multiple peers with the same number of connections, select
     * based on round-robin
     */

    if (best == NULL
        || peer->conns * best->weight < best->conns * peer->weight)
    {
        best = peer;
        many = 0;
        p = i;

    } else if (peer->conns * best->weight == best->conns * peer->weight) {
        many = 1;
    }