Consul 简介、安装

使用背景

客户端的调用一个微服务,在调用过程中,为了完成一次请求,代码需要知道服务实例的网络位置(IP 地址和端口),需要动态感知服务的服务健康度是否可用,负载均衡等相关问题,既然有这些问题,那么服务发现就是解决这些问题的。

consul 简介

那么consul是啥?consul就是提供服务发现的工具,下面是简单的介绍

那么consul是啥?consul就是提供服务发现的工具。
* 服务发现:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易
* health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面
* key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。
* multi-datacenter:支持多数据中心无需复杂的配置,即可支持任意数量的区域

consul的几个概念

1. Consul Cluster由部署和运行了Consul Agent的节点组成。 在Cluster中有两种角色:Server和 Client。
2. Server和Client的角色和Consul Cluster上运行的应用服务无关, 是基于Consul层面的一种角色划分.
3. Consul Server: 用于维护Consul Cluster的状态信息, 实现数据一致性, 响应RPC请求。官方建议是: 至少要运行3个或者3个以上的Consul Server。 多个server之中需要选举一个leader, 这个选举过程Consul基于Raft协议实现. 多个Server节点上的Consul数据信息保持强一致性。 在局域网内与本地客户端通讯,通过广域网与其他数据中心通讯。Consul Client: 只维护自身的状态, 并将HTTP和DNS接口请求转发给服务端。
4. Consul 支持多数据中心, 多个数据中心要求每个数据中心都要安装一组Consul cluster,多个数据中心间基于gossip protocol协议来通讯, 使用Raft算法实现一致性
5.使用端口
   8300:TCP # Server RPC :agent server 使用的,用于处理其他agent发来的请求
   8301:TCP and UDP # Serf LAN: 所有的agent都要使用这个端口,用于处理LAN中的gossip,
   8302:TCP and UDP # Serf WAN:agent Server使用的,处理WAN中的与其他server的gossip
   8400:TCP # 所有agent都要使用的端口,用于处理从CLI来的RPC。
   8500:TCP # 所有agent都要使用的端口,用于处理HTTP API。
   8600:TCP and UDP # 用于处理 DNS 查询。

Consul安装

安装环境: mac:64bit(查看mac位数:打开终端–>”uname -a”)
consul安装很简单,从官网 https://www.consul.io/downloads.html 进行下载就好,将consul_1.0.6_darwin_amd64.zip 文件解压后执行
sudo scp consul /usr/local/bin/

查看是否安装成功

直接在安装目录下执行consul命令即可,出现如下结果,表示安装成功。

Consul 开发模式启动

./consul agent -dev
-dev(该节点的启动不能用于生产环境,因为该模式下不会持久化任何状态),该启动模式仅仅是为了快速便捷的启动单节点consul  该节点处于server模式  该节点是leader  该节点是一个健康节点 

Consul 集群方式启动

Server (启动3个节点) 
            consul agent -server -bootstrap-expect 3 -data-dir /tmp/consul -node=1 -client 0.0.0.0 -ui      (192.168.0.1)
            consul agent -server -bootstrap-expect 3 -data-dir /tmp/consul -node=2 -client 0.0.0.0 -ui      (192.168.0.2)
            consul agent -server -bootstrap-expect 3 -data-dir /tmp/consul -node=3 -client 0.0.0.0 -ui      (192.168.0.3)
Agent(启动2个节点)  
            consul agent -data-dir /tmp/consul -node=4 -join 192.168.0.1
            consul agent -data-dir /tmp/consul -node=5 -join 192.168.0.1

命令的常用选项,如下:
         -data-dir :  指定agent储存状态的数据目录,必填选项对于server尤其重要,因为他们必须持久化集群的状态
         -config-dir:指定service的配置文件和检查定义所在的位置
         -dev:该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘
         -node:指定节点在集群中的名称,该名称在集群中必须是唯一的(默认采用机器的host)
         -server :指定节点为server,每个数据中心(DC)的server数推荐至少为1,至多为5
         -join :将节点加入到集群
         -datacenter :指定机器加入到哪一个数据中心中
         -client :指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC,默认是127.0.0.1,只允许回环接口访问
         -bootstrap-expect :该命令通知consul server我们现在准备加入的server节点个数,该参数是为了延迟日志复制的启动直到我们指
                                          定数量的server节点成功的加入后启动。
 常见问题:
        1.启动集群后,不能访问UI管理界面,查看client 是否没有配置,默认只能127.0.0.1 
        2.如果机器有多个网卡的时候,需要用  -bind :绑定IP地址,才能正常启动
        3.部署在生产环境可以用  nohup consul agent -config-dir=/etc/consul.d > /data/consul/data/consul.log & 方式启动

访问集群

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容