注册服务发现
需要使用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 服务发现的效果

来源:https://www.cnblogs.com/liyouming/p/9210424.html