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));
                //}
    

      

    萌橙 你瞅啥?
  • 相关阅读:
    解决“Kali Linux终端打不开”
    国内网站备案。备案的是域名?还是服务器?
    Linux磁盘分区
    Linux各目录的作用
    vim基础操作
    基础算法-->堆排序
    期望,方差,标准差,正态分布
    平面向量
    基础算法 ---> 二分法
    学习人工智能准备了解的算法
  • 原文地址:https://www.cnblogs.com/daimaxuejia/p/15123311.html
Copyright © 2011-2022 走看看