.net core Consul
2024-09-05 05:34:21
创建API项目修改Program
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
} public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://127.0.0.1:5001");
}
修改Startup
public void Configure(IApplicationBuilder app, IHostingEnvironment env,IApplicationLifetime applicationLifetime)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseMvc();
//注册Consul //要注册的服务地址
string ip = "http://127.0.0.1";
//要注册的服务端口
string port = "";
string serviceName = "Values";
string serviceId = "test123456789";
using (var consulClient = new ConsulClient(ConsulConfig))
{
AgentServiceRegistration asr = new AgentServiceRegistration
{
Address = ip,
Port = Convert.ToInt32(port),
ID = serviceId,
Name = serviceName,
//设置服务健康监测的服务,并设置轮询机制
//制定定期检测服务状况
Check = new AgentServiceCheck
{
DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(),
HTTP = "http://127.0.0.1:5001/api/Health",
Interval = TimeSpan.FromSeconds(),
Timeout = TimeSpan.FromSeconds()
}
};
consulClient.Agent.ServiceRegister(asr).Wait();
}
applicationLifetime.ApplicationStopped.Register(() => {
using (var consulClient = new ConsulClient(ConsulConfig))
{
Console.WriteLine("应用退出,开始从Consul注销");
consulClient.Agent.ServiceDeregister(serviceId).Wait();
}
});
}
//Consul-配置委托
private void ConsulConfig(ConsulClientConfiguration config)
{
//数据中心地址
config.Address = new Uri("http://localhost:8500");
config.Datacenter = "dc1";
}
添加HealthController
[Produces("application/json")]
[Route("api/Health")]
public class HealthController : Controller
{
[HttpGet]
public IActionResult Get()
{
Console.WriteLine("健康检查" + DateTime.Now);
return Content("ok");
} }
最新文章
- redis基本配置和相关设置
- sql server 导出表结构
- Python第九章模块和包
- NS记录
- MockupBuilder
- poj3693 Maximum repetition substring
- linux中cat、more、less、tail、head命令
- POJ 2417 Discrete Logging
- LeetCode 120. Triangle (三角形)
- MATLAB R2017a 安装与破解
- ES创建mapping时字段别名
- Docker最全教程之使用Docker搭建Java开发环境(十七)
- Vue Mixin 与微信小程序 Mixins 应用
- pc安装完成charles成功,小米安装crt证书失败
- 关于element组件中分页的一些个人思路
- 5DAY高级权限
- Could not load file or assembly Microsoft.SqlServer.management.sdk.sfc version 11.0.0.0
- 5D - Rectangles
- Android之apk优化
- B2C和B2B之间有多大差距