在windows下.NET CORE 与Consul简单使用
2021-04-01 08:24
标签:自带 下载 info 环境 修改 tin 间隔 名称 route 1)下载 https://www.consul.io/ 2)设置环境变量 拷贝.exe对应的文件路径 放到环境变量path中 3)cmd中启动服务 consul agent -dev 4)打开vs 5)新建web api项目 6)在Startup.cs下修改Configure函数如下 7)设置健康检查控制器HealthController.cs 8)生成项目 9)打开项目对应文件夹 ->bin->Debug->netcoreapp2.0 路径上输入cmd 直接进入对应目录并打开cmd 10)运行命令 dotnet PeerApi.dll --ip localhost --port 14446 解释:PeerApi.dll替换成你的dll localhost代替ip地址 注意:如果未放在iis上 输入localhost代替127.0.0.1 其他ip地址不变 14446 是端口号 替换你的端口 11)打开 http://localhost:8500/ui/dc1/services 【consul自带的监控页面】 可以查看到具体注册的服务 12)服务发现 稍后 在windows下.NET CORE 与Consul简单使用 标签:自带 下载 info 环境 修改 tin 间隔 名称 route 原文地址:https://www.cnblogs.com/songjl/p/9242784.html public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
String ip = Configuration["ip"];//部署到不同服务器的时候不能写成127.0.0.1或者0.0.0.0,因为这是让服务消费者调用的地址
int port = int.Parse(Configuration["port"]);//获取服务端口
var client = new ConsulClient(ConfigurationOverview); //回调获取
var result = client.Agent.ServiceRegister(new AgentServiceRegistration()
{
ID = "ServerNameFirst" + Guid.NewGuid(),//服务编号保证不重复
Name = "ServerFirst",//服务的名称
Address = ip,//服务ip地址
Port = port,//服务端口
Check = new AgentServiceCheck //健康检查
{
DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务启动多久后反注册
Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔(定时检查服务是否健康)
HTTP = $"http://{ip}:{port}/api/Health",//健康检查地址
Timeout = TimeSpan.FromSeconds(5)//服务的注册时间
}
});
}
///
[Route("api/[controller]")]
public class HealthController : Controller
{
[HttpGet]
public IActionResult Get() => Ok("ok");
}
下一篇:window 服务
文章标题:在windows下.NET CORE 与Consul简单使用
文章链接:http://soscw.com/index.php/essay/70838.html