Fork me on GitHub

.NetCore Cap 注册 Consul 服务发现

注册服务发现

需要使用Cap中的UseDiscovery方法

具体用法如下

var capConsulConfig = Configuration.GetSection("CapConsulConfig").Get<CapConsulConfig>();
                if (capConsulConfig.UseConsul)
                {
                    capOptions.UseDiscovery(discovery =>
                    {
                        discovery.CurrentNodeHostName = capConsulConfig.CurrentNodeHostName;
                        discovery.CurrentNodePort = capConsulConfig.CurrentNodePort;
                        discovery.DiscoveryServerHostName = capConsulConfig.DiscoveryServerHostName;
                        discovery.DiscoveryServerPort = capConsulConfig.DiscoveryServerPort;
                        discovery.NodeId = capConsulConfig.NodeId;
                        discovery.NodeName = capConsulConfig.NodeName;
                        discovery.MatchPath = capConsulConfig.MatchPath;
                    });
                }

这里我们通过配置来设置

  "CapConsulConfig": {
    "UseConsul": true,
    "CurrentNodeHostName": "localhost",
    "CurrentNodePort": 20000,
    "DiscoveryServerHostName": "localhost",
    "DiscoveryServerPort": 8500,
    "NodeId": 1,
    "NodeName": "IdentityServer_Cap",
    "MatchPath": "/Home/Index"
  }

配置说明

UseConsul:是否启用这个设置

CurrentNodeHostName: 当前应用程序的host

CurrentNodePort:应用程序端口

DiscoveryServerHostName:服务发现host,这里配置Consul地址

DiscoveryServerPort:Consul服务发现的端口 //8500

NodeId:节点编号

NodeName:节点名称 其实服务发现的服务名称 ServiceName

MatchPath:健康检查地址 默认是 应用程序根目录下的health 如:http://localhost:20000/health ,可以自定义配置,但是最后面都会有 health 路由地址

运行效果

Cap效果

接下来看下 Consul 服务发现的效果

 

posted @ 2018-06-21 18:15  龙码精神  阅读(1331)  评论(0编辑  收藏  举报