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;
}
定,精,简,俭