DaLei@home:~$

Consul服务发现的配置




Consul环境搭建

  • Consul如上一篇文件介绍那样一帮用于服务发现和健康检查,在本篇中简单搭建Consul服务发现的测试环境,有利于在微服务框架中使用Consul。
  1. 首先安装Consul,根据系统的不同到官方地址下载安装文件,自己在Ubuntu下载zip文件解压,移动到bin目录下,表示Consul安装完成,可以直接运行Consul检查时候安装成功

  2. 单机本地运行,consul agent -dev #这个命令就会启动Consul,Ctrl+C终止,在本地别的terminal执行

    consul members #查看当前运行的节点 Node Address Status Type Build Protocol DC Segment agent-one 172.17.0.2:8301 alive server 1.5.0 2 dc1 all

    curl localhost:8500/v1/catalog/nodes 这个命令通过url查看节点的信息

    dig @127.0.0.1 -p 8600 agent-one.node.consul 这个命令查看DNS信息

    终止Consul有两种方式,一种是Ctrl+C,这种方式比较友好,能够马上从节点里面小时 还有一种方式是kill,这种方式则会启动健康检查那一套机制离开

  3. 注册服务 通过配置文件 新建consul.d文件夹 echo ‘{“service”: {“name”: “web”, “tags”: [“rails”], “port”: 80}}’ > ./consul.d/web.json consul agent -dev -config-dir=./consul.d #这会注册名为web的服务

    通过DNS查询dig @127.0.0.1 -p 8600 web.service.consul 则会知道IP dig @127.0.0.1 -p 8600 web.service.consul SRV 则会只掉本地域名

    Http的方式为 curl http://localhost:8500/v1/catalog/service/web

  4. 集群部署 本地准备两个ubuntu docker docker1 172.17.0.2 docker2 172.17.0.3

    docker1$ consul agent -server -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -bind=172.17.0.2 -enable-script-checks=true -config-dir=/etc/consul.d
    
    docker2$ consul agent -data-dir=/tmp/consul -node=agent-two -bind=172.17.0.3 -enable-script-checks=true -config-dir=/etc/consul.d
    
    docker1$ consul join 172.17.0.3
    
    docker1$ consul members  #则会看到启动的两个节点一个为server一个为client
    
    docker1$ curl http://localhost:8500/v1/catalog/service/web  #则可以看到web服务有两个节点
    
  5. 其他继续摸索中