consul(第一篇)consul 入门

2016年06月01日 21:31:37

consul 入门

consul是什么

consul包含多个组件,从整体上看可以理解为一个服务发现、配置的工具,包含一下几个特点:

  • 服务发现(Service Discovery):客户端通过consul提供服务,其他客户端可以通过consul利用dns或者http发现依赖服务

  • 健康检查(Health Checking): consul提供任务的健康检查,可以用来操作或者监控集群的健康,也可以在服务发现时去除失效的服务

  • 键值对存储(Key/Value Store): 存储层级键值对

  • 多数据中心(Multi Datacenter): consul支持开箱即用的多数据中心

consul 安装

1.下载consul安装包并解压

wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
unzip consul_0.6.4_linux_amd64.zip

解压后得到可执行的二进制文件,执行./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

表示consul成功安装,同时将consul所在目录配置到path ,例如这里consulsoftware努力下,进行如下配置

vim ~/.bash_profile

export GOROOT=/software/go
export GOPATH=/root/work
PATH=$PATH:$HOME/bin:$GOROOT/bin:/software

export PATH

source ~/.bash_profile

启动

首先下载web-ui

wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_web_ui.zip

通过下面命令启动consul

consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -advertise 120.76.145.187 -client 120.76.145.187 -ui-dir /software/consul-ui
  • server 表示启动的为consul server ,构建一个consul cluster 一般建议使用3或者5个consul server

  • bootstrap-expect 1 表示期望的服务节点数目为1

  • -data-dir 数据目录,如果该文件夹不存在则手工创建,如果在consul发生错误后,建议先清理该目录文件

  • advertise 设置广播地址,ip可以设置为公网ip

  • client 设置client访问的地址

  • ui-dir web控制台目录位置

注意 通过advertise client 才能在WAN上访问consul,否则只能在LAN内访问.

官方给出的快捷启动为 consul agent -dev 如果想简单体验一下可以使用该命令

启动后访问http://ip:8500/ui得到如下界面

consul-ui

获取基本信息

获取consul server集群中的成员列表

使用命令方式

  • 如果以局域网中,直接使用 consul members
  • 如果是广域网中,使用 consul members --rpc-addr=ip:8400
    得到结果:
Node          Address              Status  Type    Build  Protocol  DC
iZ94235juoyZ  120.76.145.187:8301  alive   server  0.6.4  2         dc1

使用http接口方式

 curl 120.76.145.187:8500/v1/catalog/nodes

返回结果:

[{"Node":"iZ94235juoyZ","Address":"120.76.145.187","TaggedAddresses":{"wan":"120.76.145.187"},"CreateIndex":3,"ModifyIndex":4}]

通过dns方式

 dig @120.76.145.187 -p 8600 iZ94235juoyZ.node.consul

返回结果:

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> @120.76.145.187 -p 8600 iZ94235juoyZ.node.consul
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 625
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;iZ94235juoyZ.node.consul.      IN      A

;; ANSWER SECTION:
iZ94235juoyZ.node.consul. 0     IN      A       120.76.145.187

;; Query time: 0 msec
;; SERVER: 120.76.145.187#8600(120.76.145.187)
;; WHEN: Wed Jun  1 21:24:31 2016
;; MSG SIZE  rcvd: 82

ok ~ it’s work ! more about is here

转载请注明
http://blog.csdn.net/liaokailin/article/details/51559228

欢迎关注,您的肯定是对我最大的支持

这里写图片描述

史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)

这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:...
  • forezp
  • forezp
  • 2017年04月19日 21:37
  • 47147

服务发现 - consul 的介绍、部署和使用

什么是服务发现微服务的框架体系中,服务发现是不能不提的一个模块。我相信了解或者熟悉微服务的童鞋应该都知道它的重要性。这里我只是简单的提一下,毕竟这不是我们的重点。我们看下面的一幅图片:图中,客户端的一...
  • buxiaoxia
  • buxiaoxia
  • 2017年04月08日 22:10
  • 6010

Consul入门04 - Consul集群

Part 1:转载自:https://segmentfault.com/a/1190000005040904 我们已经启动了我们的第一个代理并且在这个代理上注册和查询了服务。这些显示了使用Cons...
  • u010246789
  • u010246789
  • 2016年06月27日 15:46
  • 4485

Consul 入门教程

  • 2017年06月07日 17:00
  • 1021KB
  • 下载

Consul 简介、安装、常用命令的使用

1 Consul简介Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现...
  • u010046908
  • u010046908
  • 2017年03月13日 13:43
  • 5220

consul 入门

1. 什么是consul? 是一个服务管理软件。 支持多数据中心下,分布式高可用的,服务发现和配置共享。 consul支持健康检查,允许存储键值对。 一致性协议采用 Raft 算法,用来保证服务的高可...
  • viewcode
  • viewcode
  • 2015年06月01日 17:39
  • 62444

consul服务发现入门篇

前言:常用的服务发现有 zookeeper:https://zookeeper.apache.org/ etcd:https://coreos.com/etcd/ consul:https://www...
  • daiyudong2020
  • daiyudong2020
  • 2016年12月09日 18:08
  • 2998

使用Consul快速搭建简易分布式服务监控系统

服务发现是Consul的特性之一,利用这个特性,我们可以做一个简单的分布式服务监控系统....
  • rlanffy
  • rlanffy
  • 2016年03月19日 22:49
  • 5019

初识服务发现及Consul框架的简单使用

1.什么是服务发现? 服务发现组件记录了(大规模)分布式系统中所有服务的信息,人们或者其它服务可以据此找到这些服务。 DNS 就是一个简单的例子。 当然,复杂系统的服务发现组件要...
  • jek123456
  • jek123456
  • 2017年08月09日 14:45
  • 463

Consul 入门指南

一、安装 Consul  Consul 下载地址:https://www.consul.io/downloads.html,下载后解压就是一个可执行的二进制文件consul,配置好环境变量,检查 co...
  • y435242634
  • y435242634
  • 2017年11月26日 20:45
  • 2127
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:consul(第一篇)consul 入门
举报原因:
原因补充:

(最多只允许输入30个字)