• .net core Consul


    创建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");
        }
    View Code

    修改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 = "5001";
                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(5),
                            HTTP = "http://127.0.0.1:5001/api/Health",
                            Interval = TimeSpan.FromSeconds(10),
                            Timeout = TimeSpan.FromSeconds(5)
                        }
                    };
                    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";
            }
    View Code

    添加HealthController

    [Produces("application/json")]
        [Route("api/Health")]
        public class HealthController : Controller
        {
           [HttpGet]
           public IActionResult Get()
            {
                Console.WriteLine("健康检查" + DateTime.Now);
                return Content("ok");
            }
             
        }
    View Code
  • 相关阅读:
    树形dp(HDU1520)
    POJ3071(概率DP)
    网络流之FF算法(poj1273&&洛谷P3376)
    二分图匹配之匈牙利算法
    江西财经大学第二届程序设计竞赛——E
    浅谈数位dp
    浅谈数位dp——hdu 不要62
    buns~~~一个简单的背包问题
    POJ 1066 Treasure Hunt (线段相交)
    POJ 2653 Pick-up sticks (线段相交)
  • 原文地址:https://www.cnblogs.com/Justsoso-WYH/p/11321842.html
Copyright © 2020-2023  润新知