示例#1
0
 public void Start()
 {
     _socketRemotingServer = new SocketRemotingServer(_iPEndPoint).RegisterRequestHandler(100, new NRpcHandle(_gloabFilterList));
     NRpcConfigWatcher.Install();
     _socketRemotingServer.Start();
     _routeCoordinator.RegisterAsync(_iPEndPoint).Wait();
 }
示例#2
0
 public void Start(params string[] assemblyNameList)
 {
     ServerAssemblyUtil.AddAssemblyList(assemblyNameList);
     _socketRemotingServer = new SocketRemotingServer(_iPEndPoint).RegisterRequestHandler(100, new NRpcHandle(_gloabFilterList));
     _socketRemotingServer.Start();
     _routeCoordinator.RegisterAsync(_iPEndPoint).Wait();
 }
示例#3
0
        private BrokerController(BrokerSetting setting)
        {
            Setting = setting ?? new BrokerSetting();

            Setting.BrokerInfo.Valid();
            if (Setting.NameServerList == null || Setting.NameServerList.Count() == 0)
            {
                throw new ArgumentException("NameServerList is empty.");
            }

            _latestMessageIds               = new string[Setting.LatestMessageShowCount];
            _producerManager                = ObjectContainer.Resolve <ProducerManager>();
            _consumerManager                = ObjectContainer.Resolve <ConsumerManager>();
            _messageStore                   = ObjectContainer.Resolve <IMessageStore>();
            _consumeOffsetStore             = ObjectContainer.Resolve <IConsumeOffsetStore>();
            _queueStore                     = ObjectContainer.Resolve <IQueueStore>();
            _getTopicConsumeInfoListService = ObjectContainer.Resolve <GetTopicConsumeInfoListService>();
            _getConsumerListService         = ObjectContainer.Resolve <GetConsumerListService>();
            _scheduleService                = ObjectContainer.Resolve <IScheduleService>();
            _binarySerializer               = ObjectContainer.Resolve <IBinarySerializer>();
            _suspendedPullRequestManager    = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _chunkReadStatisticService      = ObjectContainer.Resolve <IChunkStatisticService>();
            _tpsStatisticService            = ObjectContainer.Resolve <ITpsStatisticService>();

            _producerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ProducerRemotingServer", Setting.BrokerInfo.ProducerAddress.ToEndPoint(), Setting.SocketSetting);
            _consumerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ConsumerRemotingServer", Setting.BrokerInfo.ConsumerAddress.ToEndPoint(), Setting.SocketSetting);
            _adminSocketRemotingServer    = new SocketRemotingServer("EQueue.Broker.AdminRemotingServer", Setting.BrokerInfo.AdminAddress.ToEndPoint(), Setting.SocketSetting);

            _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _producerSocketRemotingServer.RegisterConnectionEventListener(new ProducerConnectionEventListener(this));
            _consumerSocketRemotingServer.RegisterConnectionEventListener(new ConsumerConnectionEventListener(this));
            RegisterRequestHandlers();
            _nameServerRemotingClientList = Setting.NameServerList.ToRemotingClientList(Setting.SocketSetting).ToList();
        }
示例#4
0
 public NameServerController(NameServerSetting setting = null)
 {
     Setting               = setting ?? new NameServerSetting();
     ClusterManager        = new ClusterManager(this);
     _logger               = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     _socketRemotingServer = new SocketRemotingServer("EQueue.NameServer.RemotingServer", Setting.BindingAddress, Setting.SocketSetting);
     RegisterRequestHandlers();
 }
 public NameServerController(NameServerSetting setting = null)
 {
     Setting               = setting ?? new NameServerSetting();
     ClusterManager        = new ClusterManager(this);
     _logger               = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     _socketRemotingServer = new SocketRemotingServer("EQueue.NameServer.RemotingServer", Setting.BindingAddress, Setting.SocketSetting);
     _service              = new ConsoleEventHandlerService();
     _service.RegisterClosingEventHandler(eventCode => { Shutdown(); });
     _socketRemotingServer.RegisterConnectionEventListener(new BrokerConnectionEventListener(this));
     RegisterRequestHandlers();
 }
 public NameServerController(NameServerSetting setting = null)
 {
     Setting               = setting ?? new NameServerSetting();
     ClusterManager        = new ClusterManager(this);
     _logger               = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     _socketRemotingServer = new SocketRemotingServer("EQueue.NameServer.RemotingServer", Setting.BindingAddress, Setting.SocketSetting);
     RegisterRequestHandlers();
     TaskScheduler.UnobservedTaskException += (sender, ex) =>
     {
         _logger.ErrorFormat("UnobservedTaskException occurred.", ex);
     };
 }
示例#7
0
 public CommandResultProcessor(IPEndPoint bindingAddress)
 {
     _remotingServer  = new SocketRemotingServer("CommandResultProcessor.RemotingServer", bindingAddress);
     _commandTaskDict = new ConcurrentDictionary <string, CommandTaskCompletionSource>();
     _commandExecutedMessageLocalQueue    = new BlockingCollection <CommandResult>(new ConcurrentQueue <CommandResult>());
     _domainEventHandledMessageLocalQueue = new BlockingCollection <DomainEventHandledMessage>(new ConcurrentQueue <DomainEventHandledMessage>());
     _commandExecutedMessageWorker        = new Worker("ProcessExecutedCommandMessage", () => ProcessExecutedCommandMessage(_commandExecutedMessageLocalQueue.Take()));
     _domainEventHandledMessageWorker     = new Worker("ProcessDomainEventHandledMessage", () => ProcessDomainEventHandledMessage(_domainEventHandledMessageLocalQueue.Take()));
     _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>();
     _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     BindingAddress  = bindingAddress;
 }
示例#8
0
 public BrokerController(BrokerSetting setting)
 {
     Setting = setting ?? new BrokerSetting();
     SuspendedPullRequestManager = new SuspendedPullRequestManager();
     ConsumerManager             = new ConsumerManager();
     _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     _messageService = ObjectContainer.Resolve <IMessageService>();
     _producerSocketRemotingServer = new SocketRemotingServer("ProducerRemotingServer", Setting.ProducerSocketSetting, new ProducerSocketEventListener(this));
     _consumerSocketRemotingServer = new SocketRemotingServer("ConsumerRemotingServer", Setting.ConsumerSocketSetting, new ConsumerSocketEventListener(this));
     _clientManager = new ClientManager(this);
     _messageService.SetBrokerContrller(this);
 }
示例#9
0
        static void Main(string[] args)
        {
            Configuration
            .Create()
            .UseAutofac()
            .RegisterCommonComponents()
            .UseLog4Net();
            var server = new SocketRemotingServer("Server", new IPEndPoint(SocketUtils.GetLocalIPV4(), 5000));

            server.RegisterRequestHandler(100, new RequestHandler());
            server.Start();
            Console.ReadLine();
        }
示例#10
0
        static void Main(string[] args)
        {
            ECommonConfiguration
            .Create()
            .UseAutofac()
            .RegisterCommonComponents()
            .UseLog4Net()
            .RegisterUnhandledExceptionHandler();

            _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(Program).Name);
            _remotingServer = new SocketRemotingServer().Start();
            PushTestMessageToAllClients();
            Console.ReadLine();
        }
示例#11
0
 private BrokerController(BrokerSetting setting)
 {
     Setting                       = setting ?? new BrokerSetting();
     _consumerManager              = ObjectContainer.Resolve <ConsumerManager>();
     _messageStore                 = ObjectContainer.Resolve <IMessageStore>();
     _offsetManager                = ObjectContainer.Resolve <IOffsetManager>();
     _queueService                 = ObjectContainer.Resolve <IQueueService>();
     _messageService               = ObjectContainer.Resolve <IMessageService>();
     _suspendedPullRequestManager  = ObjectContainer.Resolve <SuspendedPullRequestManager>();
     _producerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ProducerRemotingServer", Setting.ProducerIPEndPoint);
     _consumerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ConsumerRemotingServer", Setting.ConsumerIPEndPoint, this);
     _adminSocketRemotingServer    = new SocketRemotingServer("EQueue.Broker.AdminRemotingServer", Setting.AdminIPEndPoint);
     _logger                       = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     RegisterRequestHandlers();
 }
示例#12
0
        private static void InitializeECommon()
        {
            ECommonConfiguration
            .Create()
            .UseAutofac()
            .RegisterCommonComponents()
            .UseSerilog()
            .RegisterUnhandledExceptionHandler()
            .BuildContainer();

            _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(Program).Name);
            _remotingServer = new SocketRemotingServer().Start();
            PushTestMessageToAllClients();
            Console.ReadLine();
        }
示例#13
0
        private BrokerController(BrokerSetting setting)
        {
            Setting                      = setting ?? new BrokerSetting();
            _consumerManager             = ObjectContainer.Resolve <ConsumerManager>();
            _messageStore                = ObjectContainer.Resolve <IMessageStore>();
            _consumeOffsetStore          = ObjectContainer.Resolve <IConsumeOffsetStore>();
            _queueStore                  = ObjectContainer.Resolve <IQueueStore>();
            _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _chunkReadStatisticService   = ObjectContainer.Resolve <IChunkStatisticService>();

            _producerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ProducerRemotingServer", Setting.ProducerAddress, Setting.SocketSetting);
            _consumerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ConsumerRemotingServer", Setting.ConsumerAddress, Setting.SocketSetting);
            _adminSocketRemotingServer    = new SocketRemotingServer("EQueue.Broker.AdminRemotingServer", Setting.AdminAddress, Setting.SocketSetting);

            _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _consumerSocketRemotingServer.RegisterConnectionEventListener(new ConsumerConnectionEventListener(this));
            RegisterRequestHandlers();

            _service = new ConsoleEventHandlerService();
            _service.RegisterClosingEventHandler(eventCode => { Shutdown(); });
        }