Consul服务发现与注册

Posted zxp6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Consul服务发现与注册相关的知识,希望对你有一定的参考价值。

consul 启动

dos命令 

consul路径\consul agent -dev

服务注册 

dotnet  项目文件的bin目录dll文件 --urls="http://*:5726" --ip="127.0.0.1" --port=5726  

urls发布的地址端口

ip控制台接收的参数

port控制台接收的参数

consul控制台固定端口 http://localhost:8500/

注册服务代码如下:

  string ip = configuration["ip"] ?? "Localhost";
            int port = string.IsNullOrWhiteSpace(configuration["port"]) ? 44344 : int.Parse(configuration["port"]);
            IConsulClient client = new ConsulClient(obj =>
            
                obj.Address = new Uri("http://127.0.0.1:8500");//注册地址
                obj.Datacenter = "dc1";//注册内容名称
            );
            Task<WriteResult> result = client.Agent.ServiceRegister(new AgentServiceRegistration()
            
                ID = "apiserviceTest_" + Guid.NewGuid(),//服务编号,不能重复
                Name = "apiserviceTest",//服务的名字--将来调用时用的就是这个
                Address = ip,
                Port = port,
                Tags = new string[]  ,//可以用来设置权重
                Check = new AgentServiceCheck()
                
                    DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务停止多久后反注册
                    Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔
                    HTTP = $"http://ip:port/api/Value",//健康检查地址,
                    Timeout = TimeSpan.FromSeconds(5)
                
            );

注册启动接受参数 如接受ip port等

public static void Main(string[] args)
        
            ///允许控制台命令
            var config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddCommandLine(args)
                .Build();
            CreateHostBuilder(args)
                .Build()
                .Run();
        

  

 

以上是关于Consul服务发现与注册的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud(13)——服务注册与发现工具Consul

微服务~Consul服务注册与发现

微服务~Consul服务注册与发现

.netcore consul实现服务注册与发现-单节点部署

consul服务注册与发现应用实战

服务注册与发现:一起学Consul——之安装与启动