Consul的使用

article/2025/9/20 15:10:33

Consul可以用来进行服务发现,我们来测试下Consul的使用

一.Consul基本使用

先需要下载Consul的程序https://www.consul.io/downloads.html

我们这里下载Windows 64版本。

下载后直接解压就行了,里面会有一个consul.exe文件。通过命令可以启动consul.exe agent -dev

此时我们就可以在浏览器中通过http://localhost:8500/进行访问consul了

这就说明我们的consul启动成功了。

二.Consul和.net程序的结合使用

通过Consul来对.net程序进行服务发现可以有两种方法

通过代码的方式和通过配置文件的方式,下面我们就来讲下这两种方式怎么实现的吧

我们新建一个webapi项目ConsulDemo

A.代码的方式

通过nuget安装consul

创建一个webapi控制器HealthController只需简单的实现一个api返回ok就行了,这个是用来做健康监测的,监测这个webapi程序是否正常运行,能访问到就说明正常运行。

    [Route("api/[controller]/[action]")][ApiController]public class HealthController : ControllerBase{public IActionResult Index() {return new OkResult();}}

 

然后创建一个ConsulHelper类

public static class ConsulHelper {public static void Init(this IConfiguration _configuration) {ConsulClient clinet = new ConsulClient(c => {c.Address = new Uri("http://localhost:8500/");c.Datacenter = "dcl";});string ip = "127.0.0.1";int port = 5000;clinet.Agent.ServiceRegister(new AgentServiceRegistration() {ID = "service" + Guid.NewGuid(),Name = "test",Address = ip,Port = port,Check = new AgentServiceCheck() {//此处就是健康监测需要配置的,配置刚才创建的Health监测的api控制器Interval = TimeSpan.FromSeconds(12),//间隔12秒一次HTTP = $"http://{ip}:{port}/API/Health/Index",Timeout = TimeSpan.FromSeconds(52),//检测等待时间DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(60)//失败多久后移除,最小值60秒}}).Wait();}}

在Startup.cs的Configure中加上            ConsulHelper.Init(Configuration);这句话就行了

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env) {if (env.IsDevelopment()) {app.UseDeveloperExceptionPage();}ConsulHelper.Init(Configuration);app.UseMvc();}

此时我们将程序运行起来,可以看到有个test的服务了,这就说明Consul发现了我们刚启动的服务了,因为我们刚才配置中写了Name="test"

B.配置文件的方式

通过上面代码的方式,其实配置文件的方式应该更为简单方便,毕竟不用写代码了,只需修改下配置文件就行了。

在Consul目录下创建配置文件consul.json

{"service": {"id": "consul-service-test","name": "test","tags": [ "test" ],"address": "127.0.0.1","port": 5000,"checks": [{"http": "http://127.0.0.1:5000/api/Health/Index","interval": "10s"}]}
}

不过启动的命令得修改了,后面需加上配置文件的目录地址

consul agent -dev -config-dir=D:\Soft\consul_1.8.5_windows_amd64

这样webapi项目里其实上面都不用修改,只需要有健康监测的api就行了。Consul启动后就会自动取发现此webapi的服务了。


http://chatgpt.dhexx.cn/article/nGSHJPl1.shtml

相关文章

Consul 使用手册(感觉比较全了)

使用consul 介绍 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应用程序…

【Consul】Consul架构-简介

Consul是一个复杂的系统,有许多不同的移动部件。为了帮助用户和Consul的开发人员更深入的了解consul是如何工作的,本文介绍consul的系统架构。 高级话题:本节主要讲解consul内部技术细节,使用consul不需要必须了解这些细节的。这…

Consul的介绍、安装与使用

1.常用服务注册与发现框架 常见服务发现框架 Consul、Eureka、 ZooKeeper以及Etcd ZooKeeper是这种类型的项目中历史最悠久的之一,它起源于Hadoop。它非常成熟、可靠,被许多大公司(YouTube、eBay、雅虎等)使用。其中consul并不需…

【超详细】Consul的安装的使用附多环境配置(傻瓜式教程)

一、Consul概述 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多…

Consul系列:什么是Consul?

引言 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案, consu1 的方案更“一站式”,内置了服务注册 与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心…

Consul安装并运行

Consul安装并运行 一、安装 官网:https://www.consul.io/downloads.html 下载完成后只有一个consul.exe文件,硬盘路径下双击运行 查看 consul 版本信息: consul --version 使用开发模式启动: consul agent -dev 二、运行 通…

Consul

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布式一致性协议实现、健康检查、Key/Value 存储(配置中…

Consul详解

Spring Cloud 支持很多服务发现的软件,Eureka 只是其中之一,下面是 Spring Cloud 支持的服务发现软件以及特性对比: FeatureeuerkaConsulzookeeperetcd服务健康检查可配支持服务状态,内存,硬盘等(弱)长连接&#xff0c…

5分钟让你看懂Consul特性及搭建

一、前言 虽然说牛逼的公司都有那么几个牛逼的运维团队,牛逼的运维团队都有着神秘黑科技般敲代码的姿势;本人虽然不是一个运维工程师,但是有幸自己比较爱倒腾这些东西,也会那么一点点运维知识,虽然不算专业&#xff0…

consul简介

目录 Consul 简介 Consul 的使用场景 Consul 的优势 Consul 的角色 consul cluster集群架构图 Consul常用命令 consul agent 命令的常用选项 Spring Cloud Consul 项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,具有分布式、高可用、高扩…

Consul 基本概念、内部原理

1.什么是Consul? Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。 这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全服务网格。 Consul需要数据平面并支持代理和本机集成模型…

Consul的介绍和基本使用

一、Consul的简单介绍 Consul是一套开源的分布式服务发现和配置管理系统,由HasiCorp公司用go语言开发的。提供了微服务系统中服务助理、配置中心、控制总线等功能,这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构造全方位的服…

Consul 注册中心介绍以及搭建

本篇重点介绍 Consul 是什么,它可以解决什么问题,它与现有软件的比较,以及如何开始使用它。 目录 1、常见的注册中心2、Consul 介绍3、Consul 特性4、Consul的基本架构5、Consul单节点安装与启动6、Consul启动命令详解7、了解Consul启动输出8…

jQuery删除元素或内容

删除元素/内容 remove():删除被选元素 empty():删除被选元素中子元素

JQuery 数组获取和删除元素

<script>var target []; target [0] "aaa000"; target [1] "bbb111"; target [2] "ccc222"; target [3] "ddd333"; target [4] "eee444"; target [5] "fff555";console.log("使用push()添加元素…

jQuery添加元素

今天教大家来通过jQuery来很容易地添加与删除元素以及内容。我们主要学习的方法有添加的方法四个。首先我们来通过append()和prepend()方法来添加若干新元素&#xff0c;老样子&#xff0c;我们先来看效果展示&#xff1a;一个段落标签和一个button标签组成简易页面&#xff1b…

Jquery添加与移除元素

显示隐藏 siblings() addclass() 给元素添加class&#xff0c;如果元素上已经有其他的classname&#xff0c;那么新的会追加到现有classname后面 用法&#xff1a;$("li").addClass("bigger") removerClass() removerClass():可以将元素的某个class移…

jquery的DOM节点操作(删除元素节点)

1.删除元素节点 在操作页面时&#xff0c;删除多余或者指定的页面元素是非常必要的。 jquery中提供了remove&#xff08;&#xff09;方法来删除元素。 其语法格式如下&#xff1a; 删除元素节点示例代码&#xff1a; <!DOCTYPE html> <html><head><met…

jQuery 创建元素、添加元素、删除元素 【一篇文章轻松拿下】

&#x1f451; 原生 JS 中&#xff0c;我们学习了一整套元素创建添加删除的操作&#xff0c;其中创建元素&#xff0c;我们用了 creatElement&#xff0c;添加元素有两种&#xff0c;分别是后面追加 apprndChild&#xff0c;和指定元素前插入 insertBefore&#xff0c;在 jQuer…

jQuery-删除元素

删除元素有两种方法 remove()&#xff1a;删除被选元素&#xff08;及其子元素&#xff09; empty()&#xff1a;从被选元素中删除子元素 remove&#xff08;&#xff09;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><met…