Пример #1
0
 public NacosDiscoveryClient(
     IOptionsMonitor <NacosDiscoveryOptions> optionAccs
     , INacosNamingClient nacosNamingClient
     , INacosServiceRegistrar registrar    = null,
     ILogger <NacosDiscoveryClient> logger = null) : this(optionAccs.CurrentValue, nacosNamingClient, registrar, logger)
 {
 }
Пример #2
0
        public TestBase()
        {
            IServiceCollection services = new ServiceCollection();

            services.AddNacos(configure =>
            {
                configure.DefaultTimeOut  = 8000;
                configure.ServerAddresses = new System.Collections.Generic.List <string> {
                    "http://localhost:8848",
                };
                configure.AccessKey = "";
                configure.SecretKey = "";

                // configure.Namespace = "";
                configure.Namespace = "f47e0ae1-982a-4a64-aea3-52506492a3d4";
                configure.UserName  = "******";
                configure.Password  = "******";
                configure.EndPoint  = "acm.aliyun.com";
            });

            IServiceProvider serviceProvider = services.BuildServiceProvider();

            _namingClient = serviceProvider.GetService <INacosNamingClient>();
            _configClient = serviceProvider.GetService <INacosConfigClient>();
        }
Пример #3
0
 private static async Task SendAsync(INacosNamingClient client, NacosAspNetCoreOptions options, Uri uri, ILogger logger)
 {
     try
     {
         // send heart beat will register instance
         await client.SendHeartbeatAsync(new SendHeartbeatRequest
         {
             Ephemeral   = false,
             ServiceName = options.ServiceName,
             GroupName   = options.GroupName,
             BeatInfo    = new BeatInfo
             {
                 ip          = uri.Host,
                 port        = uri.Port,
                 serviceName = options.ServiceName,
                 scheduled   = true,
                 weight      = options.Weight,
                 cluster     = options.ClusterName,
             },
         });
     }
     catch (Exception ex)
     {
         logger.LogWarning(ex, "Send heart beat to Nacos error");
     }
 }
 public NacosServiceRegistry(INacosNamingClient nacosClient, IOptionsMonitor <NacosDiscoveryOptions> optionsMonitor, INacosScheduler scheduler = null, ILogger <NacosServiceRegistry> logger = null)
 {
     _scheduler      = scheduler;
     _optionsMonitor = optionsMonitor ?? throw new ArgumentNullException(nameof(optionsMonitor));
     _nacosClient    = nacosClient;
     _logger         = logger;
 }
 public NacosServerManager(
     INacosNamingClient client,
     IEasyCachingProviderFactory factory,
     IOptions <NacosAspNetCoreOptions> optionsAccs)
 {
     _client   = client;
     _provider = factory.GetCachingProvider("nacos.aspnetcore");
 }
Пример #6
0
 public StatusReportBgTask(
     ILoggerFactory loggerFactory,
     INacosNamingClient client,
     IServer server,
     IOptionsMonitor <NacosAspNetCoreOptions> optionsAccs)
 {
     _logger   = loggerFactory.CreateLogger <StatusReportBgTask>();
     _client   = client;
     _options  = optionsAccs.CurrentValue;
     _features = server.Features;
 }
Пример #7
0
 public NacosServerManager(
     INacosNamingClient client,
     IEasyCachingProviderFactory factory,
     IEnumerable <ILBStrategy> strategies,
     IOptions <NacosAspNetCoreOptions> optionsAccs)
 {
     _client   = client;
     _provider = factory.GetCachingProvider("nacos.aspnetcore");
     _strategy = strategies.FirstOrDefault(x => x.Name.ToString().Equals(optionsAccs.Value.LBStrategy, StringComparison.OrdinalIgnoreCase))
                 ?? new WeightRandomLBStrategy();
 }
Пример #8
0
 public NacosDiscoveryClient(NacosDiscoveryOptions options
                             , INacosNamingClient nacosNamingClient
                             , INacosServiceRegistrar registrar    = null,
                             ILogger <NacosDiscoveryClient> logger = null
                             )
 {
     _client      = nacosNamingClient ?? throw new ArgumentNullException(nameof(nacosNamingClient));
     _options     = options ?? throw new ArgumentNullException(nameof(options));
     this._logger = logger;
     //_thisServiceInstance = new ThisServiceInstance(options);
     _registrar = registrar;
     if (_registrar != null)
     {
         _registrar.Start();
         _thisServiceInstance = new ThisServiceInstance(_registrar.Registration);
     }
 }
Пример #9
0
        public TestBase()
        {
            IServiceCollection services = new ServiceCollection();

            services.AddNacos(configure =>
            {
                configure.DefaultTimeOut = 8;
                //configure.EndPoint = "http://localhost:8848";
                configure.ServerAddresses = new System.Collections.Generic.List <string> {
                    "localhost:8848",
                };
            });

            IServiceProvider serviceProvider = services.BuildServiceProvider();

            _namingClient = serviceProvider.GetService <INacosNamingClient>();
            _configClient = serviceProvider.GetService <INacosConfigClient>();
        }
Пример #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NacosHealthContributor"/> class.
 /// </summary>
 /// <param name="client">a Nacos client to use for health checks</param>
 /// <param name="options">configuration options</param>
 /// <param name="logger">optional logger</param>
 public NacosHealthContributor(INacosNamingClient client, NacosDiscoveryOptions options, ILogger <NacosHealthContributor> logger = null)
 {
     _client  = client ?? throw new ArgumentNullException(nameof(client));
     _options = options ?? throw new ArgumentNullException(nameof(options));
     _logger  = logger;
 }
Пример #11
0
 public NacosServerManager(INacosNamingClient client, IEasyCachingProviderFactory factory)
 {
     _client   = client;
     _provider = factory.GetCachingProvider("nacos.aspnetcore");
 }
Пример #12
0
 public void Dispose()
 {
     _nacosClient = null;
 }
Пример #13
0
 public NacosServiceRegistry(INacosNamingClient nacosClient)
 {
     _nacosClient = nacosClient;
 }
Пример #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NacosTtlScheduler"/> class.
 /// </summary>
 /// <param name="options">configuration options</param>
 /// <param name="client">the Consul client</param>
 /// <param name="logger">optional logger</param>
 public NacosTtlScheduler(NacosDiscoveryOptions options, INacosNamingClient client, ILogger <NacosTtlScheduler> logger = null)
 {
     _options = options;
     _client  = client;
     _logger  = logger;
 }
Пример #15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NacosTtlScheduler"/> class.
 /// </summary>
 /// <param name="optionsMonitor">configuration options</param>
 /// <param name="client">the Consul client</param>
 /// <param name="logger">optional logger</param>
 public NacosTtlScheduler(IOptionsMonitor <NacosDiscoveryOptions> optionsMonitor, INacosNamingClient client, ILogger <NacosTtlScheduler> logger = null)
 {
     _optionsMonitor = optionsMonitor;
     _client         = client;
     _logger         = logger;
 }