Exemplo n.º 1
0
        protected virtual async Task Subscribe_Should_Succeed()
        {
            var serviceName = $"sub-{Guid.NewGuid().ToString()}";
            var ip          = "127.0.0.3";
            var port        = 9999;

            await AssertRegisterSingleInstance(serviceName, ip, port, nameof(DeregisterInstance_Should_Succeed)).ConfigureAwait(false);

            var listerner = new NamingListerner(_output);

            await _namingSvc.Subscribe(serviceName, listerner).ConfigureAwait(false);

            await _namingSvc.RegisterInstance(serviceName, "127.0.0.4", 9999).ConfigureAwait(false);

            await Task.Delay(500).ConfigureAwait(false);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 订阅服务变化
 /// </summary>
 /// <param name="stoppingToken"></param>
 /// <returns></returns>
 protected override async Task ExecuteAsync(CancellationToken stoppingToken)
 {
     // Add listener
     await _nacosNamingService.Subscribe(JsonConfigSettings.NacosServiceName, Nacos.V2.Common.Constants.DEFAULT_GROUP, eventListener);
     var instance = new Nacos.V2.Naming.Dtos.Instance()
     {
         ServiceName = JsonConfigSettings.NacosServiceName,
         ClusterName = Nacos.V2.Common.Constants.DEFAULT_CLUSTER_NAME,
         Ip = IpHelper.GetCurrentIp(null),
         Port = JsonConfigSettings.NacosPort,
         Enabled = true,
         Weight = 1000,// 权重 默认1000
         Metadata = JsonConfigSettings.NacosMetadata
     };
     await _nacosNamingService.RegisterInstance(JsonConfigSettings.NacosServiceName, Nacos.V2.Common.Constants.DEFAULT_GROUP, instance);
     ConsoleHelper.WriteSuccessLine($"Nacos connect: Success!");
 }
Exemplo n.º 3
0
        static async Task Subscribe(INacosNamingService svc, IEventListener listener)
        {
            // 订阅服务变化
            await svc.Subscribe("demo-svc1", Nacos.V2.Common.Constants.DEFAULT_GROUP, listener);

            // 模拟服务变化,listener会收到变更信息
            await RegisterInstance(svc, 9997);

            await Task.Delay(3000);

            // 取消订阅
            await svc.Unsubscribe("demo-svc1", Nacos.V2.Common.Constants.DEFAULT_GROUP, listener);

            // 服务变化后,listener不会收到变更信息
            await RegisterInstance(svc);

            await Task.Delay(1000);
        }