asp.Netランダム選択データベースサーバノード、最も簡単な圧力配布

904 ワード

複数のホストはデータベースから、すべての要求によるデータベース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;
        }