精华内容
下载资源
问答
  • 1. 拉取Consul镜像 docker pull consul # 默认拉取latest docker pull consul:1.6.1 # 拉取指定版本 2. 安装并运行 docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -...

    1. 拉取Consul镜像

    docker pull consul # 默认拉取latest
    docker pull consul:1.6.1 # 拉取指定版本
    

    2. 安装并运行

    docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0'
    

    相关参数说明:

    • agent: 表示启动 Agent 进程。
    • server:表示启动 Consul Server 模式
    • client:表示启动 Consul Cilent 模式。
    • bootstrap:表示这个节点是 Server-Leader ,每个数据中心只能运行一台服务器。技术角度上讲 Leader 是通过 Raft 算法选举的,但是集群第一次启动时需要一个引导 Leader,在引导群集后,建议不要使用此标志。
    • ui:表示启动 Web UI 管理器,默认开放端口 8500,所以上面使用 Docker 命令把 8500 端口对外开放。
    • node:节点的名称,集群中必须是唯一的,默认是该节点的主机名。
    • client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0
    • join:表示加入到某一个集群中去。 如:-json=192.168.0.11

    3. 其他

    防火墙处理、端口开放。自行百度…

    展开全文
  • 0)基本概念 ...consul常用于服务发现 【微服务】 web_Api \ \ ->注册服务 raft选举leader -----------------------------------------------------------------—— 【Server1】<-----...

    0)基本概念

    consul常用于服务发现 【微服务】

    web_Api

    \

       \   ->注册服务                                          raft选举leader

    -----------------------------------------------------------------——

    【Server1】<---------------------->     【Server2】

          |                                       |                     

            \                                 /                             

               \                        /                                   

                  【Server3】                                       
    -----------------------------------------------------------------——

    \

       \->发现服务

    1)下载

    https://www.consul.io/   注意系统版本

    2)设置环境变量

    拷贝.exe对应的文件路径 放到环境变量path中

    3)cmd中启动服务   -dev 表示默认

    consul agent -dev 

    建立集群使用 同一服务器下解决端口占用问题时只能用相同端口注册一个服务

    方式一、

    pc-1  【ip:192.168.109.1】

    consul agent -server -ui -bootstrap-expect=2 -data-dir=e:\consul -node=consul-1 -client=0.0.0.0 -bind=192.168.109.1 -datacenter=dc1

    pc-2 【ip:192.168.109.128】

    consul agent -server -ui -bootstrap-expect=2  -data-dir=c:\consul -node=consul-2 -client=0.0.0.0 -bind=192.168.109.128  -datacenter=dc1  -join 192.168.109.1

    方式二、

    4)打开vs

    5)新建web api项目

    6)在Startup.cs下修改Configure函数如下

       public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
    
                app.UseMvc();
                String ip = Configuration["ip"];//部署到不同服务器的时候不能写成127.0.0.1或者0.0.0.0,因为这是让服务消费者调用的地址
                int port = int.Parse(Configuration["port"]);//获取服务端口
                var client = new ConsulClient(ConfigurationOverview); //回调获取
                var result = client.Agent.ServiceRegister(new AgentServiceRegistration()
                {
                    ID = "ServerNameFirst" + Guid.NewGuid(),//服务编号保证不重复
                    Name = "ServerFirst",//服务的名称 集群使用consul
                    Address = ip,//服务ip地址
                    Port = port,//服务端口
                    Check = new AgentServiceCheck //健康检查
                    {
                        DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务启动多久后反注册
                        Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔(定时检查服务是否健康)
                        HTTP = $"http://{ip}:{port}/api/Health",//健康检查地址
                        Timeout = TimeSpan.FromSeconds(5)//服务的注册时间
                    }
                });
            }
     /// <summary>
            /// 获取Consul的实例
            /// </summary>
            /// <param name="obj"></param>
            private static void ConfigurationOverview(ConsulClientConfiguration obj)
            {
                //consul的地址
                obj.Address = new Uri("http://127.0.0.1:8500");
                //数据中心命名
                obj.Datacenter = "dc1";
            }
    

    7)设置健康检查控制器HealthController.cs

        [Route("api/[controller]")]
        public class HealthController : Controller
        {
            [HttpGet]
            public IActionResult Get() => Ok("ok");
        }
    

     

    8)生成项目

    9)打开项目对应文件夹 ->bin->Debug->netcoreapp2.0   路径上输入cmd 直接进入对应目录并打开cmd

    10)运行命令进行服务注册   dotnet PeerApi.dll --ip localhost --port 14446      解释:PeerApi.dll替换成你的dll    localhost代替ip地址  注意:如果未放在iis上 输入localhost代替127.0.0.1 其他ip地址不变  14446 是端口号 替换你的端口

    11)打开 http://localhost:8500/ui/dc1/services  【consul自带的监控页面】  可以查看到具体注册的服务

    12)服务发现  可以查看链接

    http://127.0.0.1:8500/v1/catalog/service/ServerFirst  【ServerFirst 为服务名称】

    转载于:https://www.cnblogs.com/songjl/p/9242784.html

    展开全文
  • Consul使用

    2020-11-22 13:27:23
    Consul可以用来进行服务发现,我们来测试下Consul使用 一.Consul基本使用 先需要下载Consul的程序https://www.consul.io/downloads.html 我们这里下载Windows 64版本。 下载后直接解压就行了,里面会有一个...

    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的服务了。

    展开全文
  • consul windows简单使用

    2020-12-21 10:51:25
    consul.exe agent -dev -ui 注:-dev开发服务器模式启动,-ui可以用界面访问 访问控制台: http://127.0.0.1:8500/ server & client https://www.cnblogs.com/chaselogs/p/11462954.html 查看信息 ...

     

    • 下载windows安装包

    https://www.consul.io/downloads.html

    • 解压,输入下面命令启动
    consul.exe agent -dev -ui -client=0.0.0.0

    注:

    -dev开发服务器模式启动,

    -ui可以用界面访问 

    -client=0.0.0.0 表示其它机器也能访问,默认是127.0.0.1只能本机访问

     

    • 访问控制台:

    http://127.0.0.1:8500/

     

    server & client

    https://www.cnblogs.com/chaselogs/p/11462954.html

    展开全文
  • Consul 使用

    万次阅读 2017-06-29 09:46:13
    官网Document https://www.consul.io/docs/index.html ...Consul有很多组件,但总的来说,它主要用来...(1)服务发现:Consul的客户端可以“provide”一个service,例如api或mysql,其他客户端可以使用Consul
  • consul使用

    2020-03-24 21:17:17
    这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网络,总之Consul提供了一种完整的服务网格解决方案。 它具有很多优点。包括:基于 raft 协议,比较简洁;支持健康检查,同时支持 ...
  • Consul使用

    2018-05-19 13:01:18
    1 Consul简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与...使用起来也较 为简单Consul...
  • consul 使用

    2017-10-17 13:45:46
    ## consul 安装#### 依赖关系:```yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel```#### 安装consul:```bashyum install consul -y```#### 启动命令(简单启...
  • Consul 使用手册

    千次阅读 2019-01-22 16:36:38
    http://www.liangxiansen.cn/2017/04/06/consul/ ...服务发现 Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应...
  • 1、import import ( ...func consulClient(consulAddr string) (*consulApi.Client, error) { config := consulApi.DefaultConfig() config.Address = consulAddr return consulApi.NewClient(conf
  • Springcloud Consul基本使用

    千次阅读 2019-11-09 21:55:29
    本篇文章主要给大家介绍 Spring Cloud Consul使用Consul 介绍 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式...
  • Consul Template的使用 1安装 地址 https://github.com/hashicorp/consul-template/releases wget https://releases.hashicorp.com/consul-template/0.14.0/consul-template_0.14.0_linux_amd64.zip unzip consul-...
  • 1.Consul 使用 首先创建一个服务提供者consul-provider。新建一个Spring Boot项目,添加如下依赖: 项目创建成功后,application.properties 添加如下配置: spring.application.name=consul-provider server....
  • consul使用理解

    2019-07-09 10:30:36
    可以想到,这种方式并不适合用于线上环境,因为这样直连的话就失去了扩展性,当需要多机部署的时候,就无法在线上环境直接使用,而且当线上项目连接的那台服务器宕了的话,整个项目也会出错,这并不是我们想要的结果...
  • title date comments categories tags permalink ... gRPC与consul配合使用 2020/5/10 true 微服务 微服务 8.12 consul简介 Consul是一个服务网格(微服...
  • Consul简单架构

    2021-08-20 12:45:09
    文章目录1、consul官方架构2、Concul服务发现的完成流程 1、consul官方架构   Consul支持多数据中心,在上图中有两个数据中心(DateCenter),数据中心之间通过Internet互联,为了提高通信效率,只有Server节点才能...
  • Consul使用手册

    2020-04-25 21:20:24
    此前接触consul是通过micro去了解的,不明白为什么consul agent -dev命令就把micro服务注册到consul了,看了这个文章终于明白了。是因为micro本身有consul的支持。 “服务注册与发现 在进行服务注册之前先确认...
  • 微服务 consul使用

    2019-12-01 18:36:21
    consul特性    consul是分布式的、高可用、横向扩展的。consul提供的一些关键特性:    service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样...
  • docker consul Docker Swarm是Docker的本机集群。 它允许您使用全套Docker工具创建和访问Docker主机池。 因为Docker Swarm提供了标准的Docker API,所以任何已经与Docker守护程序通信的工具都可以使用Swarm透明地...
  • consul简单介绍

    2019-09-18 17:56:01
    什么是consulConsul是一种服务网格解决方案,提供具有服务发现... Consul附带一个简单的内置代理,因此一切都可以开箱即用,但也支持第三方代理集成,如Envoy。 Consul 提供的关键功能: 服务发现:Consul的客...
  • consul的kv使用

    万次阅读 2020-02-05 22:08:13
    官网关于这部分的介绍:https://learn.hashicorp.com/consul/getting-started/kv consul的kv功能可以用来做动态配置,kv的增加修改删除查询除了可以通过consul客户端,还可以...通过consul客户端使用kv功能我不知...
  • 因此,欢迎使用Consul一起使用Consul进行服务侦听的系列文章的第二部分。 在第二篇文章中,我们将研究如何使用许多与Consul相关的工具,从而使服务发现以及其他一些相关功能变得更加容易。 对于本系列的其他...
  • SpringCloud consul安装和使用,Windows Consul安装和使用,Java consul服务中心安装和使用 ================================ ©Copyright 蕃薯耀2021-03-05 https://www.cnblogs.com/fanshuyao/ 一、Consul下载...
  • Consul 介绍 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站...使用起来也较 为简单Consul 使用 Go 语言编写,因此具...
  • 这里写目录标题ZooKeeper下载安装及简单使用Consul下载安装及简单使用 ZooKeeper下载安装及简单使用 ZooKeeper下载安装(Windows版本)参考博客 https://www.cnblogs.com/mh-study/p/10368891.html 添加Zookeeper...
  • Consul

    2021-08-15 21:44:32
    Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。 能做什么? 服务发现:Consul的客户端可以注册服务,例如 api或mysql,其他客户端可以使用Consul来发现
  • Consul和feign使用

    千次阅读 2019-10-18 17:40:25
    Consul Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,采用 Go 语言开发 特性 服务发现 -健康检查 Key/Value 存储 多数据中心 Consul 角色 client: 客户端, 无状态, 将 HTTP 和 DNS...
  • 6.7开启Consul使用

    2020-10-25 20:17:54
    这样的话,我们可以使用Consul来实现配置环境变量到分布式的数据储蓄中。 6.7.1如何使用 先去https://consul.io/downloads.html网址上下载Consul. 安装之后,我们可以执行consul –version,可以盾如下信息(版本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,821
精华内容 6,728
关键字:

consul简单使用