//private static Dictionary<string, ReplicationServerSelector> selectors = new Dictionary<string, ReplicationServerSelector>(); static ReplicationManager() { Groups = groups; //#if !NETSTANDARD1_6 // load up our selectors //if (MySqlConfiguration.Settings == null) return; //foreach (var group in MySqlConfiguration.Settings.Replication.ServerGroups) //{ // ReplicationServerGroup g = AddGroup(group.Name, group.GroupType, group.RetryTime); // foreach (var server in group.Servers) // g.AddServer(server.Name, server.IsMaster, server.ConnectionString); //} string databaseServerName = GetStringValue("DatabaseServerName", "mysql"); var databaseServerNames = databaseServerName.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); //如果存在多个服务器,则为mysql组复制 if (databaseServerNames.Count <= 1) { return; } //打乱server信息 List <string> newDatabaseServerNames = new List <string>(); Random random = new Random(); int totalCount = databaseServerNames.Count; while (newDatabaseServerNames.Count < totalCount) { int index = random.Next(totalCount - newDatabaseServerNames.Count); if (!newDatabaseServerNames.Contains(databaseServerNames[index])) { newDatabaseServerNames.Add(databaseServerNames[index]); databaseServerNames.RemoveAt(index); } } string databaseGroupName = GetStringValue("DatabaseGroupName", "MySQLGroupReplication"); ReplicationServerGroup g = AddGroup(databaseGroupName, "", 60); foreach (var serverName in newDatabaseServerNames) { bool isMaster = true; string connectionString = GenerateMySqlConnectionString(serverName); g.AddServer(serverName, isMaster, connectionString); } //#endif }
static ReplicationManager() { ReplicationManager.groups = new List <ReplicationServerGroup>(); ReplicationManager.Groups = ReplicationManager.groups; if (MySqlConfiguration.Settings == null) { return; } foreach (ReplicationServerGroupConfigurationElement current in MySqlConfiguration.Settings.Replication.ServerGroups) { ReplicationServerGroup replicationServerGroup = ReplicationManager.AddGroup(current.Name, current.GroupType, current.RetryTime); foreach (ReplicationServerConfigurationElement current2 in current.Servers) { replicationServerGroup.AddServer(current2.Name, current2.IsMaster, current2.ConnectionString); } } }
//private static Dictionary<string, ReplicationServerSelector> selectors = new Dictionary<string, ReplicationServerSelector>(); static ReplicationManager() { Groups = groups; // load up our selectors if (MySqlConfiguration.Settings == null) { return; } foreach (var group in MySqlConfiguration.Settings.Replication.ServerGroups) { ReplicationServerGroup g = AddGroup(group.Name, group.GroupType, group.RetryTime); foreach (var server in group.Servers) { g.AddServer(server.Name, server.IsSource, server.ConnectionString); } } }
//private static Dictionary<string, ReplicationServerSelector> selectors = new Dictionary<string, ReplicationServerSelector>(); static ReplicationManager() { Groups = groups; #if !CF && !RT // load up our selectors if (MySqlConfiguration.Settings == null) { return; } foreach (var group in MySqlConfiguration.Settings.Replication.ServerGroups) { ReplicationServerGroup g = AddGroup(group.Name, group.GroupType); foreach (var server in group.Servers) { g.AddServer(server.Name, server.IsMaster, server.ConnectionString); } } #endif }