zoukankan      html  css  js  c++  java
  • Sql Server 读写分离

    链接:https://blog.csdn.net/qq_36445227/article/details/108889448

    负载均衡代码:

    public class ConnString
        {
    
            private static List<string> ReadConnStringList = new List<string>() { "ReadDB1", "ReadDB2", "ReadDB3" };//模拟连接字符串
            private static string WriteConnString = "WriteDB";
            private static int index = 0;
            private static List<int> Scoure = new List<int>() { 1, 2, 6 };
            private static List<string> ReadScourList = new List<string>() { };
            static ConnString()
            {
                int tempindex = 0;
                foreach (int item in Scoure)
                {
                    for (int i = 0; i < item; i++)
                    {
                        ReadScourList.Add(ReadConnStringList[tempindex]);
                    }
                    tempindex++;
                }
            }
            public static string GetConnStringMethod(CnnEnum cnn )
            {
                string str = string.Empty;
                switch (cnn)
                {
                    case CnnEnum.Read:
                        str = GetReadStr();
                        break;
                    case CnnEnum.Write:
                        str=WriteConnString;
                        break;
                    default:
                        break;
                }
                return str;
            }
            /// <summary>
            /// 轮询策略
            /// </summary>
            /// <returns></returns>
            public static string GetReadStr() 
            {
                // return ReadConnStringList[index++% ReadConnStringList.Count];//轮询策略
               
                return ReadScourList[new Random(index++).Next(0, ReadScourList.Count)];//权重策略
            }
            public enum CnnEnum
            {
             Read,
             Write
            }
    
        }
    

      测试代码

      //for (int i = 0; i < 10; i++)
                //{
                //    Console.WriteLine(ConnString.GetConnStringMethod(ConnString.CnnEnum.Read));
                //}
    

      

    萌橙 你瞅啥?
  • 相关阅读:
    PY个树状数组
    PY 个板子计划【雾
    PY个欧拉筛
    【NOI2007】项链工厂 ——老题新做.jpg
    Min-Max 容斥的证明
    51nod 1963 树上Nim
    ●BZOJ 3566 [SHOI2014]概率充电器
    ●BZOJ 3640 JC的小苹果
    ●BZOJ 1444 [Jsoi2009]有趣的游戏
    ●Joyoi Dotp 驱逐猪猡
  • 原文地址:https://www.cnblogs.com/daimaxuejia/p/15123311.html
Copyright © 2011-2022 走看看