环境安装
1、下载consul
官网https://www.consul.io/downloads.html下载对应版本的consul;本文以Windows-64版本为例
2、配置到系统环境变量
C:\Program Files\consul_1.4.2_windows_amd64
3、验证consul
打开命令行,验证consul会看到版本语法等内容
>consul
概要
1.启动代理
agent可以在Server或者Client模式下运行;每个数据中心至少有一个Server模式的代理,建议3-5个防止数据丢失,所有其他代理都以客户端模式运行。客户端是一个非常轻量级的进程,它注册服务,运行运行状况检查,并将查询转发给服务器。代理必须在作为群集一部分的每个节点上运行。
#启动代理,此模式会自动启动一个服务端代理,默认IP节点名等参数 >consul agent -dev
2.查询成员
>consul member -detailed(可选参数)
正常情况下节点只保证最终一致,如果想要强一致
访问HTTP API;
http://localhost:8500/v1/catalog/nodes
可以访问http://localhost:8500看下
3.关闭代理
Ctrl-C可以正常关闭代理,如果强制结束代理进程;正常关闭代理可以正常删除此代理的相关信息;而异常关闭不会删除仅对此代理健康状态做标记
定义服务
#创建配置目录;linux环境约定.d后缀表示“此目录包含一组配置文件” $ mkdir ./consul.d #比如把80端口的某个Web服务打上标签注册进去 $ echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' \ > ./consul.d/web.json #重启服务,加载配置目录 $ consul agent -dev -config-dir=./consul.d
linux环境
1、下载 wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip 2、解压 unzip consul_1.4.0_linux_amd64.zip 3、移动目录 mv consul /usr/local/bin 4、创建服务托管 [Unit] Description=consul service [Service] WorkingDirectory=/usr/local/bin ExecStart=/usr/local/bin/consul agent -server -bootstrap -ui -datacenter=dc-92 -data-dir=/tmp/consul/data -client 0.0.0.0 -bind 127.0.0.1 Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target 5、启动服务 systemctl start consul
官网地址