架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 280|回复: 1

[控制台程序] .NET/C# 控制台服务注册至 Consul 服务发现

[复制链接]
发表于 2024-12-20 14:46:54 | 显示全部楼层 |阅读模式
需求:使用 .NET 8 控制器开发了一些后台服务,这些服务支持集群部署,可以部署到多台服务器,并行处理任务,如何监控这些 .NET 控制台应用的运行状态呢?

回顾:

Consul 在 Windows 测试环境安装教程
https://www.itsvse.com/thread-10613-1-1.html

.NET/C# 检查 TCP 端口是否可用
https://www.itsvse.com/thread-10721-1-1.html

Consul 健康检查支持协议或方式:Script、HTTP、TCP、UDP、Time-to-live (TTL)、Docker、gRPC、H2ping、Alias 方式。

链接:

https://developer.hashicorp.com/consul/docs/services/usage/checks
https://developer.hashicorp.com/consul/docs/services/configuration/checks-configuration-reference

可以将控制台服务注册到 Consul,应用使用 TcpListener 开启监听一个 TCP 端口,Consul 基于 TCP 来检查控制台服务的健康状态。如下图:

QQ截图20241220135622.png QQ截图20241220135714.png QQ截图20241220135729.png

项目中需要考虑到服务的顺序,需要使用到信号量,程序注册到 consul 必须等待 TCP 监听成功端口才行!!!

启动多个控制台,如下图:

QQ截图20241220144418.png

代码如下:



项目代码如下:


(完)




上一篇:使用 Memtest86 Pro v11 对内存进行诊断测试
下一篇:Angular 18 系列(二十八)InjectionToken 简单介绍
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-12-23 11:38:18 | 显示全部楼层
代码使用的技术


c#线程学习之ManualResetEvent和AutoResetEvent的区别
https://www.itsvse.com/thread-4810-1-1.html


码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-2-18 18:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表