public DefaultAddressResolver(IServiceRouteManager serviceRouteManager, ILogger<DefaultAddressResolver> logger, IAddressSelector addressSelector, IHealthCheckService healthCheckService) { _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = addressSelector; _healthCheckService = healthCheckService; }
public DefaultAddressResolver(IServiceRouteManager serviceRouteManager, ILogger <DefaultAddressResolver> logger, IAddressSelector addressSelector, IHealthCheckService healthCheckService) { _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = addressSelector; _healthCheckService = healthCheckService; }
public RetryCallMiddleware(ClientRequestDel next, IAddressSelector addressSelector, ILogger logger, int retryTimes) { _next = next; _retryTimes = retryTimes; _addressSelector = addressSelector; _logger = logger; }
public RetryCallMiddleware(ClientRequestDel next, IAddressSelector addressSelector, ILoggerFactory loggerFactory, int retryTimes) { _next = next; _retryTimes = retryTimes; _addressSelector = addressSelector; _logger = loggerFactory.Create(this.GetType()); }
public DefaultAddressResolver(IServiceRouteManager manager, IAddressSelector selector, IHealthCheckService healthCheckService, ILogger <DefaultAddressResolver> logger) { _manager = manager; _selector = selector; _healthChecksService = healthCheckService; _logger = logger; }
public DefaultAddressResolver(IServiceRouteManager serviceRouteManager, ILogger <DefaultAddressResolver> logger, CPlatformContainer container, IHealthCheckService healthCheckService) { _container = container; _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = container.GetInstances <IAddressSelector>(); _healthCheckService = healthCheckService; }
/// <summary> /// Initializes a new instance of the <see cref="EchoService" /> class. /// </summary> /// <param name="hashAlgorithm">The hash algorithm.</param> /// <param name="serviceRouteProvider">The service route provider.</param> /// <param name="container">The container.</param> /// <param name="serviceHeartbeatManager">The service heartbeat manager.</param> public EchoService(IHashAlgorithm hashAlgorithm, IServiceRouteProvider serviceRouteProvider, CPlatformContainer container, IServiceHeartbeatManager serviceHeartbeatManager) { _hashAlgorithm = hashAlgorithm; _addressSelector = container.GetInstances <IAddressSelector>(AddressSelectorMode.HashAlgorithm.ToString()); _serviceRouteProvider = serviceRouteProvider; _serviceHeartbeatManager = serviceHeartbeatManager; }
public DefaultAddressResolver(RegistryService registryService, IRegisterMetaDiscoveryProvider serviceProvider, IServiceRouteManager serviceRouteManager, ILogger <DefaultAddressResolver> logger, IAddressSelector addressSelector, IHealthCheckService healthCheckService) { _registryService = registryService; _serviceProvider = serviceProvider; _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = addressSelector; _healthCheckService = healthCheckService; }
public DefaultAddressResolver(IServiceRouteManager serviceRouteManager, ILogger <DefaultAddressResolver> logger, CPlatformContainer container, IHealthCheckService healthCheckService) { _container = container; _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = container.GetInstances <IAddressSelector>(AppConfig.LoadBalanceMode.ToString()); _healthCheckService = healthCheckService; serviceRouteManager.Changed += ServiceRouteManager_Removed; serviceRouteManager.Removed += ServiceRouteManager_Removed; serviceRouteManager.Created += ServiceRouteManager_Add; }
public RemoteServiceCaller(IClientServiceDiscovery serviceDiscovery, IAddressSelector addressSelector, ITransportClientFactory transportClientFactory, ITypeConvertProvider typeConvertProvider, IServiceTokenGetter serviceTokenGetter, ILogger logger, int retryTimes = -1) { _serviceDiscovery = serviceDiscovery; _addressSelector = addressSelector; _transportClientFactory = transportClientFactory; _typeConvertProvider = typeConvertProvider; _serviceTokenGetter = serviceTokenGetter; _logger = logger; _retryTimes = retryTimes; }
public RemoteServiceCaller(IClientServiceDiscovery serviceDiscovery, IAddressSelector addressSelector, ClientSenderFactory clientSenderFactory, IServiceTokenGetter serviceTokenGetter, ILogger logger) { _serviceDiscovery = serviceDiscovery; _addressSelector = addressSelector; _clientSenderFactory = clientSenderFactory; _serviceTokenGetter = serviceTokenGetter; _logger = logger; _middlewares = new Stack <Func <ClientRequestDel, ClientRequestDel> >(); }
public RemoteServiceCaller(IClientServiceDiscovery serviceDiscovery, IAddressSelector addressSelector, ClientSenderFactory clientSenderFactory, IServiceTokenGetter serviceTokenGetter, IJimuDiagnostic jimuApm, ILoggerFactory loggerFactory) { _serviceDiscovery = serviceDiscovery; _addressSelector = addressSelector; _clientSenderFactory = clientSenderFactory; _serviceTokenGetter = serviceTokenGetter; _logger = loggerFactory.Create(this.GetType()); _middlewares = new Stack <Func <ClientRequestDel, ClientRequestDel> >(); _jimuApm = jimuApm; }
public RemoteServiceExecutor(IClientServiceDiscovery serviceDiscovery, IAddressSelector addressSelector, IServiceTokenGetter serviceTokenGetter, ITransportClientFactory transportClientFactory, ITypeConvertProvider typeConvertProvider, ILogger logger, ISerializer serializer, IAuthorizationHandler authorizationHandler = null, ICache <string, List <ServerAddress> > cache = null, int retryTimes = -1) { _serviceDiscovery = serviceDiscovery; _addressSelector = addressSelector; _transportClientFactory = transportClientFactory; _typeConvertProvider = typeConvertProvider; _serviceTokenGetter = serviceTokenGetter; _authorizationHandler = authorizationHandler; _cache = cache; _logger = logger; _retryTimes = retryTimes; _serializer = serializer; }
/// <summary> /// 服务内部调用方法 /// </summary> /// <param name="serverAddress">服务地址</param> /// <param name="sendMessage">请求内容</param> public static async Task <T> InternalCall <T>(List <ServerAddress> service, RemoteCallData sendMessage) { ContainerBuilder containerBuilder = new ContainerBuilder(); Core.Client.IServiceHostClientBuilder builder = new ServiceHostClientBuilder(containerBuilder).UseRpcForTransfer() .UsePollingAddressSelector(BalanceType.RoundRobin); using (Core.IServiceHost host = builder.Build()) { IAddressSelector addressSelector = host.Container.Resolve <IAddressSelector>(); ServerAddress desc = await addressSelector.GetAddressAsync(service); ITransportClient client = host.Container.Resolve <ITransportClientFactory>() .CreateClient(desc); RemoteCallBackData result = client.SendAsync(sendMessage).Result; return(JsonConvert.DeserializeObject <T>(result.Result.ToString())); } }
public GRpcHttpClient(IOptionsSnapshot <DiscoveryOptions> optionsSnapshot, HttpClient httpClient, IAddressSelector addressSelector) { var url = addressSelector.Selector(optionsSnapshot.Value.ServiceName); httpClient.BaseAddress = new Uri(url); Client = httpClient; }
public DefaultAddressResolver(IServiceRouteManager serviceRouteManager, ILogger <DefaultAddressResolver> logger, IAddressSelector addressSelector) { _serviceRouteManager = serviceRouteManager; _logger = logger; _addressSelector = addressSelector; }
/// <summary> /// 设置服务地址选择器。 /// </summary> /// <param name="builder">Rpc服务构建者。</param> /// <param name="instance">地址选择器实例。</param> /// <returns>Rpc服务构建者。</returns> public static IRpcBuilder UseAddressSelector(this IRpcBuilder builder, IAddressSelector instance) { builder.Services.AddSingleton(instance); return(builder); }
/// <summary> /// 设置服务地址选择器。 /// </summary> /// <param name="builder">服务构建者。</param> /// <param name="instance">地址选择器实例。</param> /// <returns>服务构建者。</returns> public static IServiceBuilder UseAddressSelector(this IServiceBuilder builder, IAddressSelector instance) { builder.Services.RegisterInstance(instance); return(builder); }