在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现。支持外部 SaaS 提供者等。 consul提供的一些关键特性: service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。 health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。 key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。 multi-datacenter:无需复杂的配置,即可支持任意数量的区域(数据中心)。 系统环境:CentOS release 6.5 (Final) x64 consul最新版的下载地址 https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip 下载解压,里面只有一个consul可执行文件,执行 [root@localhost consul-0.6.4]# consul usage: consul [--version] [--help] <command> [<args>] Available commands are: agent Runs a Consul agent configtest Validate config file event Fire a new event exec Executes a command on Consul nodes force-leave Forces a member of the cluster to enter the "left" state info Provides debugging information for operators join Tell Consul agent to join cluster keygen Generates a new encryption key keyring Manages gossip layer encryption keys leave Gracefully leaves the Consul cluster and shuts down lock Execute a command holding a lock maint Controls node or service maintenance mode members Lists the members of a Consul cluster monitor Stream logs from a Consul agent reload Triggers the agent to reload configuration files rtt Estimates network round trip time between nodes version Prints the Consul version watch Watch for changes in Consul 其中,最常用到的命令是agent 输入consul agent -h 可以查看帮助。其中常见的参数解释如下: -advertise:通知展现地址用来改变我们给集群中的其他节点展现的地址,一般情况下-bind地址就是展现地址 要想利用consul提供的服务实现服务的注册与发现,我们需要建立consul cluster。 在consul方案中,每个提供服务的节点上都要部署和运行consul的agent,所有运行consul agent节点的集合构成consul cluster。 consul agent有两种运行模式:server和client。这里的server和client只是consul集群层面的区分,与搭建在cluster之上的应用服务无关。 以server模式运行的consul agent节点用于维护consul集群的状态, 官方建议每个consul cluster至少有3个或以上的运行在server mode的agent,client节点不限。 我们这里以安装三个节点为例,环境配置如下 192.168.1.100 以server模式运行 192.168.1.101,192.168.1.102 以client模式运行 一:配置consul 把上面下载的文件解压,并把consul拷贝到/opt/consul目录,然后把/opt/consul目录加入到环境变量(三个节点依次配置) 二:运行 1:在192.168.1.100节点上面进行 cd /opt/consul mkdir data consul agent -server -bootstrap -bind=0.0.0.0 -client=192.168.1.100 -data-dir=data -ui -node=192.168.1.100 这样,就启动了一个节点 2:在192.168.1.101节点上面进行 cd /opt/consul mkdir data consul agent -bind=0.0.0.0 -client=192.168.1.101 -data-dir=data -node=192.168.1.101 -join=192.168.1.100 3:在192.168.1.102节点上面进行 cd /opt/consul mkdir data consul agent -bind=0.0.0.0 -client=192.168.1.102 -data-dir=data -node=192.168.1.102 -join=192.168.1.100 全部节点启动完之后 访问http://192.168.1.100:8500/ 即可查看consul集群的管理页面 在任意节点执行consul members 即可查看集群节点信息 这里在192.168.1.100节点执行 [root@localhost consul-0.6.4]# consul members -rpc-addr=192.168.1.100:8400 Node Address Status Type Build Protocol DC 192.168.1.101 192.168.1.101:8301 alive client 0.6.4 2 dc1 192.168.1.102 192.168.1.102:8301 alive client 0.6.4 2 dc1 192.168.1.100 192.168.1.100:8301 alive server 0.6.4 2 dc1 关闭节点 consul leave -rpc-addr=192.168.1.100:8400 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。 |
请发表评论