Exemple #1
0
        /// <summary>
        /// 加入集群
        /// </summary>
        /// <param name="clusterServerIp"></param>
        /// <param name="member"></param>
        /// <returns></returns>
        public IServerMember JoinCluster(string clusterServerIp, IServerMember serverMember)
        {
            //todo

            /*
             * 调用集群组件,注册服务,并获取分配到的服务器IServerMember.Id
             * IServerMember.Id作为雪花算法的服务器节点id
             */
            var serverMemberInstance = serverMember as ServerMember;

            //模拟服务器分配的节点id
            var config = _fileConfigurationService.GetAsync <ServerMemberSetting>(SettingsPath.ServerMemberSettingPath);

            if (config == null)
            {
#warning 随机分配一个节点id,需要使用集群管理进行分配
                /*后期需要修改为,跟服务器通信,然后再分配服务器集群成员id*/
                serverMemberInstance.Id = new System.Random().Next(1000);
            }
            else
            {
                serverMemberInstance.Id = config.Id;
            }

            ServerMember = serverMemberInstance as IServerMember;

            return(ServerMember);
        }
Exemple #2
0
 /// <summary>
 /// 离开集群
 /// </summary>
 /// <param name="clusterServerIp"></param>
 /// <param name="member"></param>
 /// <returns></returns>
 public IServerMember QuitCluster(string clusterServerIp, IServerMember member)
 {
     //todo 退出服务
     throw new NotImplementedException();
 }