static void Main(String[] args) { log4net.Config.XmlConfigurator.Configure( ); log.Debug(DateTime.Now.Ticks + " Metadata init..."); // if (!Debugger.IsAttached) // Debugger.Launch(); int clientPort; String clientHostName; List <ServerId> metaserverList = new List <ServerId>(); int i = 0; for (i = 0; i < (args.Length - 2); i++) { ServerId metaServer = new ServerId(); metaServer.hostname = args[i++]; metaServer.port = Convert.ToInt32(args[i]); metaServer.id = Convert.ToString(i / 2); metaserverList.Add(metaServer); } clientPort = Convert.ToInt32(args[i++]); clientId = Convert.ToInt32(args[i]); clientHostName = ClientEntry.GetCurrentIp(); RemotingConfiguration.Configure("../../App.config", true); ClientEntry client = new ClientEntry(); Console.WriteLine("Start client: " + clientId); //Create interfce to metaserver MetaserverClient = new MetaserverAsyncClient(clientHostName, clientPort, metaserverList, clientId); // TCP Channel TcpChannel channel = new TcpChannel(MetaserverClient.ClientPort); ChannelServices.RegisterChannel(channel, false); Console.WriteLine("Starting Client Socket for puppet master at port: " + MetaserverClient.ClientPort); RemotingConfiguration.RegisterWellKnownServiceType( typeof(ClientEntry), "PADIConnection", WellKnownObjectMode.Singleton); System.Console.WriteLine("<enter> to exit..."); System.Console.ReadLine(); }
public LoadBalancer(MetaCore metaCore) { _core = metaCore; MetaserverId thisServer; MetadataServer.MetadataServerList.TryGetValue(MetadataServer.ThisMetaserverId, out thisServer); List <ServerId> metadataServerList = new List <ServerId>( ); foreach (MetaserverId metaserver in MetadataServer.MetadataServerList.Values) { ServerId serverId = new ServerId(); serverId.hostname = metaserver.Hostname; serverId.id = metaserver.Id.ToString(); serverId.port = metaserver.Port; metadataServerList.Add(serverId); } connectionToMeta = new MetaserverAsyncClient(thisServer.Hostname, thisServer.Port + 5000, metadataServerList, MetadataServer.ThisMetaserverId + 100); }
static void Main(string[] args) { foreach (var item in args) { Console.Write(item + " "); } System.Console.WriteLine("Dataserver Init...."); log4net.Config.XmlConfigurator.Configure( ); log.Debug(DateTime.Now.Ticks + " Metadata init..."); // if (!Debugger.IsAttached) // Debugger.Launch(); int i = 0; for (i = 0; i < (args.Length - 4); i++) { ServerId metaServer = new ServerId(); metaServer.hostname = args[i++]; metaServer.port = Convert.ToInt32(args[i]); metaServer.id = Convert.ToString(i / 2); MetadataServerList.Add(metaServer); } ServerPort = Convert.ToInt32(args[i++]); ServerId = Convert.ToInt32(args[i++]); RecoveryPort = Convert.ToInt32(args[i++]); ServerIp = DataServer.GetCurrentIp(); storage = new StorageManager(ServerId); System.Console.WriteLine("System ID: " + ServerId ); System.Console.WriteLine("System IP Adress: " + ServerIp + ":" + ServerPort + "#" + RecoveryPort); // Cria objecto remoto para ser envocado apartir do cliente RemotingConfiguration.Configure("../../App.config", true); DataServer.CreateNormalChannel(); _localFileNameList = new ConcurrentDictionary <String, LocalFileStatistics>(); // Espera ate receber unfreze do puppet Online System.Console.WriteLine("DataServer Started, In Freeze Mode"); while (isFreezed) { Thread.Sleep(250); } System.Console.WriteLine("DataServer Started Defrost!!!"); // Regista-se no Metadata e inicia Objectos Remotos MetaserverClient = new MetaserverAsyncClient(ServerIp, ServerPort, MetadataServerList, ServerId); RegisterAtMetadata(); // Releses the Request Thread and Returns to Puppet Monitor.Enter(freezeMon); Monitor.PulseAll(freezeMon); Monitor.Exit(freezeMon); System.Console.WriteLine("<enter> para sair..."); System.Console.ReadLine(); }