当前位置:网站首页>C# 均衡权重分配

C# 均衡权重分配

2022-06-10 12:10:00 游子吟i

模拟实体类:

 class Server
        {
            public String Ip_Port { get; set; }
            public int weightip { get; set; }
            public override string ToString()
            {
                Console.WriteLine($"Ip_Port={Ip_Port},weightip={weightip}");
                return base.ToString();
            }
        }

模拟数据源:

 List<Server> servers = new List<Server>
           {
               new Server
               {
                   Ip_Port="asdas:1223",
                   weightip=2
               },
               new Server
               {
                   Ip_Port="tegwer:154782",
                   weightip=1
               },
               new Server
               {
                   Ip_Port="kjhvd:41201",
                   weightip=3
               },
               new Server
               {
                   Ip_Port="errtqwe:412177",
                   weightip=9
               },
               new Server
               {
                   Ip_Port="hjyhdf:7878",
                   weightip=7
               }
           };

主要代码:

                int sum = 0;
                var rand = new Random();
                int num = rand.Next(1, servers.Select(t => t.weightip).Sum());
                foreach (var item in servers)
                {
                    sum += item.weightip;
                    if (num > sum)
                        continue;
                    Console.WriteLine(item.ToString());
                    break;
                }

10次模拟结果:

            int n = 0;
            var rand = new Random();
            while (n++<10)
            {
                int sum = 0;
                int num = rand.Next(1, servers.Select(t => t.weightip).Sum());
                foreach (var item in servers)
                {
                    sum += item.weightip;
                    if (num > sum)
                        continue;
                    Console.WriteLine(item.ToString());
                    break;
                }
            }

 

原网站

版权声明
本文为[游子吟i]所创,转载请带上原文链接,感谢
https://blog.csdn.net/ftfmatlab/article/details/124956447