iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >.Net Core服务治理Consul健康检查方法是什么
  • 713
分享到

.Net Core服务治理Consul健康检查方法是什么

2023-06-26 03:06:17 713人浏览 薄情痞子
摘要

这篇文章主要讲解了“.net Core服务治理Consul健康检查方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.Net Core服务治理Consul健康检查方

这篇文章主要讲解了“.net Core服务治理Consul健康检查方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.Net Core服务治理Consul健康检查方法是什么”吧!

健康检查

经过之前的操作,我的consul已经支持自动扩展,并且调用也很靠谱。但是这里有个问题,一旦服务列表里的某个服务挂了,consul并不知道,还是会把实际无效的地址返回给我,就算重启consul容器也无法刷新到最新的状态。所以,咱们要监控服务可用性,主动区分出不可用服务,这种手段,就称之为健康检查。

进入编码环节。老规矩,还是进入到之前我封装好的注册方法,在注册时增加健康检查的内容:

client.Agent.ServiceReGISter(new AgentServiceRegistration()            {                ID = $"server {ip}:{port}",                Name = "shenzhen-ma",                Address = ip,                Port = int.Parse(port),                Tags = new string[] { weight },                Check = new AgentServiceCheck()                {                    Interval = TimeSpan.FromSeconds(10),//每隔10秒发起检查                    Http = $"http://{ip}:{port}/v1/client/base/index",//检查请求地址                    Timeout = TimeSpan.FromSeconds(5),//超时时长5秒                    DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(10)//超过10秒还没能连接到服务,就开始注销本服务                }            });

变色部分就是健康检查的配置了。根据上面的配置,consul会周期性发起健康检查,并且根据结果自动移除不可用的服务。

这次我要严谨一些,用真实的远程服务器来模拟生产环境。手头服务器太多,很多有项目在跑。仔细翻了翻,发现还有两台相对空闲的服务器,一台是win server,另一台Centos,嘿嘿,正好。centos做consul服务器,win服务器用来做下游调用方。

先把consul搞起来:

.Net Core服务治理Consul健康检查方法是什么

进去访问下:

.Net Core服务治理Consul健康检查方法是什么

OK了,现在转到另一台服务器跑几个客户端。这里偷个懒,直接把可运行文件拷贝过去,哈哈:

.Net Core服务治理Consul健康检查方法是什么

看下consul控制台:

.Net Core服务治理Consul健康检查方法是什么

还是熟悉的shenzhen-ma,两个服务已经稳稳的待在分组列表里了。注意我框起来的位置,它表示服务已经通过了健康检查。这时候我把5051这个程序关掉,再来看看:

.Net Core服务治理Consul健康检查方法是什么

5051状态自动更新成failing,而且没过一会儿,它就会自动移除。5050这时候去再去访问,就访问不到5051了:

.Net Core服务治理Consul健康检查方法是什么

再然后偷偷把5051跑起来,重新调用:

.Net Core服务治理Consul健康检查方法是什么

又可以访问了不是?

新实例启动自动发现,实例状态异常自动剔除,下端调用无需任何调整,舒坦。起码我这个懒人觉得很舒服。

tips:新的服务默认状态是failing,注册成功后会马上发起一次检查,成功后才会变更状态。而且服务注销没有那么快,耗时一般都会比设置的时间长。

感谢各位的阅读,以上就是“.Net Core服务治理Consul健康检查方法是什么”的内容了,经过本文的学习后,相信大家对.Net Core服务治理Consul健康检查方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: .Net Core服务治理Consul健康检查方法是什么

本文链接: https://www.lsjlt.com/news/306506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作