Consul服务发现与注册

consul 启动

dos命令

consul路径\consul agent -dev

服务注册

dotnet  项目文件的bin目录dll文件 --urls="http://*:5726" --ip="127.0.0.1" --port=5726

urls发布的地址端口

ip控制台接收的参数

port控制台接收的参数

consul控制台固定端口 http://localhost:8500/

注册服务代码如下:

  string ip = configuration["ip"] ?? "Localhost";
            int port = string.IsNullOrWhiteSpace(configuration["port"]) ? 44344 : int.Parse(configuration["port"]);
            IConsulClient client = new ConsulClient(obj =>
            {
                obj.Address = new Uri("http://127.0.0.1:8500");//注册地址
                obj.Datacenter = "dc1";//注册内容名称
            });
            Task<WriteResult> result = client.Agent.ServiceRegister(new AgentServiceRegistration()
            {
                ID = "apiserviceTest_" + Guid.NewGuid(),//服务编号,不能重复
                Name = "apiserviceTest",//服务的名字--将来调用时用的就是这个
                Address = ip,
                Port = port,
                Tags = new string[] { },//可以用来设置权重
                Check = new AgentServiceCheck()
                {
                    DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务停止多久后反注册
                    Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔
                    HTTP = $"http://{ip}:{port}/api/Value",//健康检查地址,
                    Timeout = TimeSpan.FromSeconds(5)
                }
            });

注册启动接受参数 如接受ip port等

public static void Main(string[] args)
        {
            ///允许控制台命令
            var config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddCommandLine(args)
                .Build();
            CreateHostBuilder(args)
                .Build()
                .Run();
        }

  

原文地址:https://www.cnblogs.com/zxp6/p/11566766.html

时间: 2024-07-30 20:36:15

Consul服务发现与注册的相关文章

Redola.Rpc 集成 Consul 服务发现

Redola.Rpc 解决了什么问题? Redola.Rpc 是一个使用 C# 开发的 RPC 框架,代码开源在 GitHub 上.目前版本仅支持 .NET Framework 4.6 以上版本,未来待系统稳健后再考虑移植 .NET Standard 和 .NET Core. Redola.Rpc 在 0.3.2 版本中,尝试解决几个 RPC 设计问题: 我是谁?(Local Actor) 如何告诉别人我是谁?(Actor Directory) 我提供什么服务?(Service Catalog

Spring Cloud Consul—服务发现与Consul

服务发现是基于微服务架构的关键原则之一.尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱.Consul通过HTTP API和DNS提供服务发现服务.Spring Cloud Consul利用HTTP API进行服务注册和发现.这不会阻止非Spring Cloud应用程序利用DNS界面.Consul代理服务器在通过八卦协议进行通信的集群中运行,并使用Raft协议协议. 如何激活 要激活Consul服务发现,请使用组org.springframework.cloud和artifact i

一篇文章了解Consul服务发现实现原理

从 2016 年起就开始接触 Consul,使用的主要目的就是做服务发现,后来逐步应用于生产环境,并总结了少许使用经验. 最开始使用 Consul 的人不多,这两年微服务越来越火,使用 Consul 的人也越来越多. 经常有人会问一些问题,比如: 服务注册到节点后,其他节点为什么没有同步? Client 是干什么的?(Client 有什么作用?) 能不能直接注册到 Server?(是否只有 Server 节点就够了?) 服务信息是保存在哪里的? 如果节点挂了,健康检查能不能转移到别的节点? 有些

.NET Core微服务实施之Consul服务发现与治理

原文:.NET Core微服务实施之Consul服务发现与治理 Consul官网:https://www.consul.io Consul下载地址:https://www.consul.io/downloads.html Consul nuget 命令:Install-Package Consul 我的理解是,Consul是一个服务管理者,系统中所有使用到的服务他都帮你管理好,促销高峰需要新增服务的时候,服务开启来就自动注册到Consul中,服务下线关闭,也自动从Consul注销,无缝衔接,对于

基于Docker的Consul服务发现集群搭建

原文:基于Docker的Consul服务发现集群搭建 在去年的.NET Core微服务系列文章中,初步学习了一下Consul服务发现,总结了两篇文章.本次基于Docker部署的方式,以一个Demo示例来搭建一个Consul的示例集群,最后给出一个HA的架构示范,也会更加贴近于实际应用环境. 一.示例整体架构 此示例会由一个API Gateway, 一个Consul Client以及三个Consul Server组成,有关Consul的Client和Server这两种模式的Agent的背景知识,请

docker深入2-基于 swarm mode 的服务发现和注册

2017/9/4 注:[未完待续]标签,表明现在没空继续研究,后续再补上,现在先分享出来,或许有朋友正需要思路和帮助. 一.前言 1.目的 1)研究基于 swarm mode 的服务发现和注册 2)熟悉使用 go 和 python 来写 agent 调用 docker api/sdk 来达到上述目的. 3)docker api/sdk 参考  * docker api and sdk exp  * api ref: https://docs.docker.com/engine/api/v1.3

Ocelot 网关 和 consul 服务发现

服务发现 Consul 一.安装和启动 下载 [Consul](https://www.consul.io/downloads.html) 下载完成后,解压,只有一个consul.exe,把目录添加到环境变量的PATH,注意添加到系统变量,仅仅加入用户变量不起作用.打开cmd,输入 consul agen -dev // 启动Consul服务 二.在aspnetcore中注册Consul 1. 定义配置项 /// <summary> /// Consul配置 /// </summary&

.NET CORE2.2 下 Ocelot+Consul服务发现踩坑记录

历史原因,笔者所在公司的项目目前还在使用 .NET CORE 2.2版本,在所有业务应用升级完成服务注册发现之后,最后剩下 Ocelot 网关服务升级.在升级过程中,遇到一些问题,记录此文,以便有相同情况的同学参考. 1. Ocelot 升级服务发现 根据官方文档 ,通过简单的添加配置,既可以将原有配置方式改为服务发现: 安装插件 Install-Package Ocelot.Provider.Consul 13.5.2,.Net Core 2.x 最后一个版本 配置服务 s.AddOcelot

(4).NET CORE微服务 Micro-Service ---- Consul服务发现和消费

上一章说了  Consul服务注册  现在我要连接上Consul里面的服务 请求它们的API接口 应该怎么做呢? 1.找Consul要一台你需要的服务器 1.1 获取Consul下的所有注册的服务 using (var consulClient = new ConsulClient(c => c.Address = new Uri("http://127.0.0.1:8500"))) { var services = consulClient.Agent.Services().R