asp.net 随机选举数据库服务器节点,最简单的压力分发


多台主从数据库,高并发减少由于所有请求导致数据库IO瓶颈,做了一个连接字符串IP的切换。

完全随机,还没有加入sql servers的实际压力压力情况、连接数、负载等信息排序优先级

//::::::web.Config
// <appSettings> <add name="SqlServersIps" value="192.168.1.10;192.168.1.11;192.168.1.12;192.168.1.13" /></appSettings>

 public static string GetElaticUrl(string sqlIPs) //sqlIPs:192.168.1.10;192.168.1.11;192.168.1.12;192.168.1.13
        {
            var result = " //业务需要加的头 
            var urls = sqlIPs.Split(';');
            if (urls.Length.Equals(1))
            {
                result += urls;
            }
            else
            {
                var random = new Random();
                var rnum = random.Next(0, urls.Length);
                result += urls[rnum];
            }
            result +=  "/"; //业务需要加的头 
            return result;
        }



posted @ 2016-04-29 11:30  游子善心  阅读(1)  评论(0编辑  收藏  举报  来源