public ConsumerSetting() { ClusterName = "DefaultCluster"; NameServerList = new List <IPEndPoint>() { new IPEndPoint(SocketUtils.GetLocalIPV4(), 9493) }; SocketSetting = new SocketSetting(); RebalanceInterval = 1000; HeartbeatBrokerInterval = 1000; RefreshBrokerAndTopicRouteInfoInterval = 1000 * 5; CommitConsumerOffsetInterval = 1000; PullMessageFlowControlThreshold = 10000; PullMessageFlowControlStepPercent = 1; PullMessageFlowControlStepWaitMilliseconds = 1; SuspendPullRequestMilliseconds = 60 * 1000; PullRequestTimeoutMilliseconds = 70 * 1000; RetryMessageInterval = 1000; PullMessageBatchSize = 64; ConsumeFromWhere = ConsumeFromWhere.LastOffset; MessageHandleMode = MessageHandleMode.Parallel; AutoPull = true; CommitConsumeOffsetAsync = true; ManualPullLocalMessageQueueMaxSize = 10 * 10000; IgnoreLastConsumedOffset = false; }
public SocketRemotingServer(IPEndPoint listeningEndPoint, SocketSetting setting = null) { _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _serverSocket = new ServerSocket(listeningEndPoint, _setting, _receiveDataBufferPool, HandleRemotingRequest); _requestHandlerDict = new Dictionary <int, IRequestHandler>(); }
public EQueueSettingService(IConfiguration configuration) { var setting = new EQueueSetting(); configuration.GetSection("EQueueSetting").Bind(setting); var nameServerAddresses = setting.NameServerAddresses; if (string.IsNullOrWhiteSpace(nameServerAddresses)) { var defaultNameServer = new IPEndPoint(SocketUtils.GetLocalIPV4(), 9493); var defaultList = new List <IPEndPoint> { defaultNameServer }; NameServerList = defaultList; } else { var addressList = nameServerAddresses.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); var endpointList = new List <IPEndPoint>(); foreach (var address in addressList) { var array = address.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries); var endpoint = new IPEndPoint(IPAddress.Parse(array[0]), int.Parse(array[1])); endpointList.Add(endpoint); } NameServerList = endpointList; } EnableMonitorMessageAccumulate = setting.EnableMonitorMessageAccumulate; MessageAccumulateThreshold = setting.MessageAccumulateThreshold; ScanMessageAccumulateIntervalSeconds = setting.ScanMessageAccumulateIntervalSeconds; SocketSetting = new SocketSetting(); }
public ProducerSetting() { BrokerAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5000); BrokerAdminAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5002); SocketSetting = new SocketSetting(); UpdateTopicQueueCountInterval = 1000; }
static Settings() { var nameServerAddresses = ConfigurationManager.AppSettings["nameServerAddresses"]; if (string.IsNullOrWhiteSpace(nameServerAddresses)) { var defaultNameServer = new IPEndPoint(SocketUtils.GetLocalIPV4(), 9493); var defaultList = new List <IPEndPoint>(); defaultList.Add(defaultNameServer); NameServerList = defaultList; } else { var addressList = nameServerAddresses.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); var endpointList = new List <IPEndPoint>(); foreach (var address in addressList) { var array = address.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries); var endpoint = new IPEndPoint(IPAddress.Parse(array[0]), int.Parse(array[1])); endpointList.Add(endpoint); } NameServerList = endpointList; } var enableMonitorMessageAccumulate = ConfigurationManager.AppSettings["enableMonitorMessageAccumulate"]; if (string.IsNullOrWhiteSpace(enableMonitorMessageAccumulate)) { EnableMonitorMessageAccumulate = false; } else { EnableMonitorMessageAccumulate = bool.Parse(enableMonitorMessageAccumulate); } var messageAccumulateThreshold = ConfigurationManager.AppSettings["messageAccumulateThreshold"]; if (string.IsNullOrWhiteSpace(messageAccumulateThreshold)) { MessageAccumulateThreshold = 10 * 10000; } else { MessageAccumulateThreshold = int.Parse(messageAccumulateThreshold); } var scanMessageAccumulateIntervalSeconds = ConfigurationManager.AppSettings["scanMessageAccumulateIntervalSeconds"]; if (string.IsNullOrWhiteSpace(scanMessageAccumulateIntervalSeconds)) { ScanMessageAccumulateIntervalSeconds = 60 * 5; } else { ScanMessageAccumulateIntervalSeconds = int.Parse(scanMessageAccumulateIntervalSeconds); } SocketSetting = new SocketSetting(); }
public SocketRemotingServer(string name, IPEndPoint listeningEndPoint, SocketSetting setting = null) { _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _serverSocket = new ServerSocket(listeningEndPoint, _setting, _receiveDataBufferPool, HandleRemotingRequest); _requestHandlerDict = new Dictionary <int, IRequestHandler>(); _logger = CPTS.Common.EngineCommon.Logger; }
public SocketRemotingServer(string name, IPEndPoint listeningEndPoint, SocketSetting setting = null) { _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _serverSocket = new ServerSocket(listeningEndPoint, _setting, _receiveDataBufferPool, HandleRemotingRequest); _requestHandlerDict = new Dictionary<int, IRequestHandler>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(name ?? GetType().Name); }
public BrokerSetting() { ProducerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5000, Backlog = 5000 }; ConsumerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5001, Backlog = 5000 }; NotifyWhenMessageArrived = true; DeleteMessageInterval = 1000 * 60 * 60; DefaultTopicQueueCount = 4; }
public SocketRemotingServer(string name, SocketSetting socketSetting, ISocketEventListener socketEventListener = null) { _serverSocket = new ServerSocket(socketEventListener); _requestHandlerDict = new Dictionary<int, IRequestHandler>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(name ?? GetType().Name); _serverSocket.Bind(socketSetting.Address, socketSetting.Port).Listen(socketSetting.Backlog); _started = false; }
public SocketRemotingServer(string name, IPEndPoint listeningEndPoint, SocketSetting setting = null) { _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _serverSocket = new ServerSocket(listeningEndPoint, _setting, _receiveDataBufferPool, HandleRemotingRequest); _requestHandlerDict = new Dictionary <int, IRequestHandler>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(name ?? GetType().Name); }
public ProducerSetting() { BrokerAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5000); BrokerAdminAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5002); SocketSetting = new SocketSetting(); UpdateTopicQueueCountInterval = 1000; HeartbeatBrokerInterval = 1000; MessageMaxSize = 1024 * 1024 * 4; }
public BaseController() { var httpContextAccessor = (IHttpContextAccessor)ServiceLocator.Instance.GetService(typeof(IHttpContextAccessor)); SocketSetting = ((IOptions <SocketSetting>)httpContextAccessor.HttpContext.RequestServices.GetService(typeof(IOptions <SocketSetting>))).Value; var loggerFactory = (ILoggerFactory)httpContextAccessor.HttpContext.RequestServices.GetService(typeof(ILoggerFactory)); logger = loggerFactory.CreateLogger <T>(); }
public static IEnumerable<SocketRemotingClient> CreateRemotingClientList(IEnumerable<IPEndPoint> endpointList, SocketSetting socketSetting) { var remotingClientList = new List<SocketRemotingClient>(); foreach (var endpoint in endpointList) { var remotingClient = new SocketRemotingClient(endpoint, socketSetting); remotingClientList.Add(remotingClient); } return remotingClientList; }
public ProducerSetting() { ClusterName = "DefaultCluster"; NameServerList = new List <IPEndPoint>() { new IPEndPoint(SocketUtils.GetLocalIPV4(), 9493) }; SocketSetting = new SocketSetting(); RefreshBrokerAndTopicRouteInfoInterval = 1000 * 5; HeartbeatBrokerInterval = 1000; MessageMaxSize = 1024 * 1024 * 4; SendMessageMaxRetryCount = 5; }
public BrokerSetting() { ProducerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5000, Backlog = 5000 }; ConsumerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5001, Backlog = 5000 }; AdminSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5002, Backlog = 5000 }; NotifyWhenMessageArrived = true; RemoveConsumedMessageInterval = 1000 * 5; RemoveExceedMaxCacheQueueIndexInterval = 1000 * 5; CheckBlockingPullRequestMilliseconds = 1000; DefaultTopicQueueCount = 4; ScanNotActiveConsumerInterval = 1000 * 5; ConsumerExpiredTimeout = 1000 * 60; QueueIndexMaxCacheSize = 500 * 10000; }
/// <summary> /// /// </summary> /// <param name="serverEndPoint"></param> /// <param name="setting"></param> /// <param name="remoteProtocol"></param> public ClientRequestHadler(EndPoint serverEndPoint, SocketSetting setting, IRemoteProtocol remoteProtocol) { this.remoteProtocol = remoteProtocol; if (this.remoteProtocol == null) { throw new ArgumentNullException("remoteProtocol", "remoteProtocol is null"); } this.all = new ConcurrentDictionary <ulong, CurrentRequestTaskCompletion>(); this.client = new ClientSocket(setting, new SocketBufferProvider(setting), serverEndPoint); this.client.OnMessageReceived += Client_OnMessageReceived; this.client.OnConnectionAccepted += (s, e) => { this.OnConnectionAccepted?.Invoke(s, e); }; this.client.OnConnectionClosed += (s, e) => { this.OnConnectionClosed?.Invoke(s, e); }; }
/// <summary> /// /// </summary> public ClientSocket(SocketSetting setting, EndPoint serverEndPoint, EndPoint localEndPoint = null) { this.serverEndPoint = serverEndPoint; this.localEndPoint = localEndPoint; this.eventHandlers = new List <ResultEventHandler <OnReceivedSocketEventArgs, byte[]> >(); this.socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp) { ReceiveBufferSize = setting.ReceiveBufferSize, SendBufferSize = setting.SendBufferSize, //NoDelay = true, //Blocking = true, }; //用来控制开始连接超时检查 this.manualResetEvent = new System.Threading.ManualResetEvent(false); }
public SocketRemotingClient(EndPoint serverEndPoint, SocketSetting setting = null, EndPoint localEndPoint = null) { Ensure.NotNull(serverEndPoint, "serverEndPoint"); _serverEndPoint = serverEndPoint; _localEndPoint = localEndPoint; _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _clientSocket = new ClientSocket(_serverEndPoint, _localEndPoint, _setting, _receiveDataBufferPool, HandleServerMessage); _responseFutureDict = new ConcurrentDictionary <long, ResponseFuture>(); _replyMessageQueue = new BlockingCollection <byte[]>(new ConcurrentQueue <byte[]>()); _responseHandlerDict = new Dictionary <int, IResponseHandler>(); _remotingServerMessageHandlerDict = new Dictionary <int, IRemotingServerMessageHandler>(); _connectionEventListeners = new List <IConnectionEventListener>(); _scheduleService = DependencyManage.Resolve <IScheduleService>(); RegisterConnectionEventListener(new ConnectionEventListener(this)); }
public SocketRemotingClient(EndPoint serverEndPoint, SocketSetting setting = null, EndPoint localEndPoint = null) { Ensure.NotNull(serverEndPoint, "serverEndPoint"); _serverEndPoint = serverEndPoint; _localEndPoint = localEndPoint; _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _clientSocket = new ClientSocket(_serverEndPoint, _localEndPoint, _setting, _receiveDataBufferPool, HandleReplyMessage); _responseFutureDict = new ConcurrentDictionary<long, ResponseFuture>(); _replyMessageQueue = new BlockingCollection<byte[]>(new ConcurrentQueue<byte[]>()); _responseHandlerDict = new Dictionary<int, IResponseHandler>(); _connectionEventListeners = new List<IConnectionEventListener>(); _scheduleService = ObjectContainer.Resolve<IScheduleService>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName); RegisterConnectionEventListener(new ConnectionEventListener(this)); }
public SocketRemotingClient(EndPoint serverEndPoint, SocketSetting setting = null, EndPoint localEndPoint = null) { serverEndPoint.CheckNotNull("serverEndPoint"); _serverEndPoint = serverEndPoint; _localEndPoint = localEndPoint; _setting = setting ?? new SocketSetting(); _receiveDataBufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); _clientSocket = new ClientSocket(_serverEndPoint, _localEndPoint, _setting, _receiveDataBufferPool, HandleReplyMessage); _responseFutureDict = new ConcurrentDictionary <long, ResponseFuture>(); _replyMessageQueue = new BlockingCollection <byte[]>(new ConcurrentQueue <byte[]>()); _responseHandlerDict = new Dictionary <int, IResponseHandler>(); _connectionEventListeners = new List <IConnectionEventListener>(); _scheduleService = IocManager.Instance.Resolve <IScheduleService>(); _logger = IocManager.Instance.Resolve <ILoggerFactory>().Create(GetType().FullName); RegisterConnectionEventListener(new ConnectionEventListener(this)); }
public ConsumerSetting() { BrokerAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5001); BrokerAdminAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5002); SocketSetting = new SocketSetting(); RebalanceInterval = 1000; HeartbeatBrokerInterval = 1000; UpdateTopicQueueCountInterval = 1000; SendConsumerOffsetInterval = 1000; PullMessageFlowControlThreshold = 1000; PullMessageFlowControlStepPercent = 1; PullMessageFlowControlStepWaitMilliseconds = 1; SuspendPullRequestMilliseconds = 60 * 1000; PullRequestTimeoutMilliseconds = 70 * 1000; RetryMessageInterval = 1000; PullMessageBatchSize = 32; ConsumeFromWhere = ConsumeFromWhere.LastOffset; MessageHandleMode = MessageHandleMode.Parallel; }
public ConsumerSetting() { BrokerAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5001); BrokerAdminAddress = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5002); SocketSetting = new SocketSetting(); ConsumeThreadMaxCount = Environment.ProcessorCount * 2; DefaultTimeoutMilliseconds = 60 * 1000; RebalanceInterval = 1000; HeartbeatBrokerInterval = 1000; UpdateTopicQueueCountInterval = 1000; PersistConsumerOffsetInterval = 1000; PullThresholdForQueue = 100000; PullTimeDelayMillsWhenFlowControl = 3000; SuspendPullRequestMilliseconds = 60 * 1000; PullRequestTimeoutMilliseconds = 70 * 1000; RetryMessageInterval = 3000; PullMessageBatchSize = 32; ConsumeFromWhere = ConsumeFromWhere.LastOffset; }
public SocketRemotingClient(string name, EndPoint serverEndPoint, SocketSetting setting = null, EndPoint localEndPoint = null) { Ensure.NotNull(serverEndPoint, "serverEndPoint"); Name = name; ServerEndPoint = serverEndPoint; LocalEndPoint = localEndPoint; _setting = setting ?? new SocketSetting(); BufferPool = new BufferPool(_setting.ReceiveDataBufferSize, _setting.ReceiveDataBufferPoolSize); ClientSocket = new ClientSocket(name, ServerEndPoint, LocalEndPoint, _setting, BufferPool, HandleServerMessage); _responseFutureDict = new ConcurrentDictionary <long, ResponseFuture>(); _replyMessageQueue = new BlockingCollection <byte[]>(new ConcurrentQueue <byte[]>()); _responseHandlerDict = new Dictionary <int, IResponseHandler>(); _remotingServerMessageHandlerDict = new Dictionary <int, IRemotingServerMessageHandler>(); _connectionEventListeners = new List <IConnectionEventListener>(); _scheduleService = ObjectContainer.Resolve <IScheduleService>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); RegisterConnectionEventListener(new ConnectionEventListener(this)); }
public BrokerSetting() { ProducerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5000, Backlog = 5000 }; ConsumerSocketSetting = new SocketSetting { Address = SocketUtils.GetLocalIPV4().ToString(), Port = 5001, Backlog = 5000 }; NotifyWhenMessageArrived = true; }
public MainService(IOptions <SocketSetting> socket, ILoggerFactory loggerFactory) { SocketSetting = socket.Value; logger = loggerFactory.CreateLogger <MainService>(); }
public static IEnumerable <SocketRemotingClient> ToRemotingClientList(this IEnumerable <IPEndPoint> endpointList, SocketSetting socketSetting) { var remotingClientList = new List <SocketRemotingClient>(); foreach (var endpoint in endpointList) { var remotingClient = new SocketRemotingClient(endpoint, socketSetting); remotingClientList.Add(remotingClient); } return(remotingClientList); }
/// <summary> /// /// </summary> /// <param name="listeningEndPoint"></param> /// <param name="setting"></param> /// <param name="responseHandler"></param> /// <param name="Protocol"></param> public ServerRequestHandler(EndPoint listeningEndPoint, IResponseHandler responseHandler, SocketSetting setting, IRemoteProtocol Protocol) { this.Protocol = Protocol; if (this.Protocol == null) { throw new ArgumentNullException("Protocol", "Protocol is null"); } this.Socket = new ServerSocket(setting, new SocketBufferProvider(setting), listeningEndPoint); this.Socket.OnMessageReceived += Service_OnMessageReceived; this.Socket.OnConnectionAccepted += (s, e) => { this.OnConnectionAccepted?.Invoke(s, e); }; this.Socket.OnConnectionClosed += (s, e) => { this.OnConnectionClosed?.Invoke(s, e); }; this.ResponseHandler = responseHandler; }