服务发现和注册----consul-01

简介:

consul
  • 单机版 - linux
    • 下载:wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip
    • style="line-height: 24px;">解压:unzip consul_1.3.0_linux_amd64.zip -d /usr/local
    • 添加环境变量 vi /etc/profile
      • export CONSUL_HOME=/usr/local/bin/consul
      • export PATH=$PATH:CONSUL_HOME
      • 退出保存, source /etc/profile 使修改生效
    • 验证: consul version,显示版本
      • 如下,则正常
        f0b9e557-6440-4205-9f04-115f5d2c1b27-5210562.jpg
    • 开发端口或者关闭防火墙
      • 让防火墙开放端口;
        • 可以使用firewall-cmd --zone=public --add-port=8500/tcp --permanent,然后firewall-cmd --reload 使其生效;
        • 也可以用iptables,vi /etc/sysconfig/iptables,添加 A INPUT -m state –state NEW -m tcp -p tcp –dport 8500 -j ACCEPT,保存退出,重启 service iptables restart
    • 启动:
      • 如果,你只是用consul单机作为服务,开启服务端即可;
      • 启动服务端:
        • consul agent -server -client=0.0.0.0 -bind=192.168.1.4 -bootstrap-expect=3 -bootstrap -ui -data-dir=/usr/local/consuldata -node=consul_study > /dev/null 2>&1 &
        • > /dev/null 2>&1 &  表示把该命令设置为后台启动,防止终端关闭,consul退出,也可以不加
        • -node 表示节点在web ui中显示的名称
        • -data-dir 表示指定数据的存放目录(该目录必须存在)
        • -bootstrap-expect=3 表示server集群最低节点数为3,低于这个值将工作不正常(注:类似zookeeper一样,通常集群数为奇数,方便选举,consul采用的是raft算法)
        • -client 指定客户端访问的ip(consul有丰富的api接口,这里的客户端指浏览器或调用方),0.0.0.0表示不限客户端ip
        • -bind 表示绑定到哪个ip(有些服务器会绑定多块网卡,可以通过bind参数强制指定绑定的ip),就是consul 运行的机器,作为服务器
        • -server 表示以服务端身份启动
      • 开启客户端:
        • 如果只是作为单机使用,可以不开启
        • consul agent -client=0.0.0.0 -data-dir=/data/application/consul_data/ -node=client1 -ui > /dev/null 2>&1 &
    • 验证开启是否成功:
    • 如果开启失败,首先验证你的服务是否可以访问:
      • 验证端口是否开放: 默认端口为8500
        • 在windows 下,命令行中,使用telnet xxxx 8500
          485106cd-bd80-479b-baab-0dbe74f6e9dc-5210562.jpg
        • 显示,如下,则正常
          730cd5c3-cdab-440b-bd5d-a1792df06137-5210562.jpg
    • 总结问题:
      • 一、服务注册不成功,如下
        d76c00c7-bfb5-422e-8942-6e3b7a7370e8-5210562.jpg
        • 使用http://192.168.1.4:8500/v1/agent/checks,查看原因
          37ab9145-bddd-42c5-814e-295863f925fa-5210562.jpg
        • 楼主,是在虚拟机centos下安装consul,windows下运行项目,Output 中的地址是 本地ipv4的地址,我绑定的consul的服务端的地址是192.168.1.4,通过桥连接,主机可以访问虚拟机,但是虚拟机无法访问主机,所以报错连接超时。
        • 需要注意的是: 运行项目的地址,必须和consul服务端的地址是可以互相访问的。
      • 二、删除服务的问题

相关文章
|
Windows
『Consul』Consul数据持久化配置并且注册为Windows服务
📣读完这篇文章里你能收获到 - Consul数据持久化配置并且注册为Windows服务
1331 0
|
存储 安全 Go
Golang 语言微服务的服务注册与发现组件 Consul
Golang 语言微服务的服务注册与发现组件 Consul
127 0
|
7月前
|
存储 网络协议 数据中心
服务注册中心Consul
服务注册中心Consul
102 1
|
7月前
Consul安装教程和注册
Consul安装教程和注册
86 0
|
7月前
|
微服务
三个微服务注册中心eureka、consul、zookeeper之间的异同点以及CAP理论图
三个微服务注册中心eureka、consul、zookeeper之间的异同点以及CAP理论图
354 0
|
应用服务中间件 Shell nginx
Docker consul的容器服务注册与发现-2
Docker consul的容器服务注册与发现
107 0
|
前端开发 应用服务中间件 nginx
Docker consul的容器服务注册与发现-1
Docker consul的容器服务注册与发现
190 0
Springcloud整合consul作为注册中心需要注意的问题(No instances available for)
使用consul跟使用zookeeper的整合过程没有太大的区别,就是有一点需要注意, pom文件必须引入一个健康度监控的包,不然报错No instances available for
|
XML 监控 网络协议
手把手教你搭建SpringCloud项目(七)集成Consul服务注册中心
手把手教你搭建SpringCloud项目(七)集成Consul服务注册中心
417 0
|
存储 Cloud Native 安全
【云原生】springcloud07—Consul的服务注册与发现
【云原生】springcloud07—Consul的服务注册与发现