asp.Netランダム選択データベースサーバノード、最も簡単な圧力配布
904 ワード
複数のホストはデータベースから、すべての要求によるデータベースIOのボトルネックを高同時減少させ、接続文字列IPの切り替えを行った.
完全にランダムで、まだsql serversの実際の圧力圧力状況、接続数、負荷などの情報ソート優先度が入っていません
完全にランダムで、まだ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;
}