文档: https://www.consul.io/docs/install

一、什么是consul

1、Consul 是 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置。

Consul 是分布式的、高可用的、 可横向扩展的

2、官方网站:

https://www.consul.io/

3、Consul 集群间使用了 Gossip 协议通信和 raft 一致性算法

[安装]

yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install -y consul

验证是否安装完成

consul   version

三台服务器上都有进行安装

创建数据目录

mkdir -p /data/consul-data
chown -R consul:consul /data/consul-data

[配置文件]

vim /etc/consul.d/server.json

第一台:

{
"data_dir": "/data/consul-data/",
"log_level": "INFO",
"node_name": "server-1",
"server": true,
"bootstrap_expect": 2,
"client_addr": "0.0.0.0",
"bind_addr": "172.18.10.1"
}

第二台:  修改node_name,bind_addr

{
"data_dir": "/data/consul-data/",
"log_level": "INFO",
"node_name": "server-2",
"server": true,
"bootstrap_expect": 2,
"client_addr": "0.0.0.0",
"bind_addr": "172.18.10.2"
}

第三台:

{
"data_dir": "/data/consul-data/",
"log_level": "INFO",
"node_name": "server-3",
"server": true,
"ui": true,
"bootstrap_expect": 2,
"client_addr": "0.0.0.0",
"bind_addr": "172.18.10.3"
}

对应的命令:

nohup /usr/local/soft/consul agent -server -bind=172.17.0.2 -client=0.0.0.0 -bootstrap-expect=2 -data-dir=/data/consul/da -node=server-2 >/dev/null 2>&1 &

-server:以server身份启动

-bootstrap-expect=2:集群要求的最少server数量

-bind:监听的ip

-client:客户端ip,0.0.0.0表示不限制客户端ip

-data-dir:指定存放数据的目录

-node:指定节点id,注意:同一集群内节点id不允许重复
-ui: 允许访问web ui

添加systemctl服务管理

vim  /lib/systemd/system/consul.service

如果是使用yum安装的,已经存在该服务

[Unit]
Description="HashiCorp Consul - A service mesh solution"
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/consul.d/consul.hcl [Service]
EnvironmentFile=-/etc/consul.d/consul.env
User=consul
Group=consul
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGTERM
Restart=on-failure
LimitNOFILE=65536 [Install]
WantedBy=multi-user.target

[启动服务]

systemctl  start consul.service

[操作]

# 查看版本
consul verion # 查看当前节点的信息
consul info # 查看consul集群成员数量
consul members

# 退出集群
consul leave

分布式服务发现与配置之Consul的更多相关文章

  1. Consul 服务发现和配置

    Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. ...

  2. consul服务发现和配置共享的软件,

    Consul 是什么 consul是一个支持多数据中心分布式高可用服务发现和配置共享的服务软件,由HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2. ...

  3. Consul 服务发现与配置

    Consule 是什么 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul 的客户端可用提供一个服务,比如 api 或 ...

  4. 基于consul构建golang系统分布式服务发现机制

    原文地址-石匠的Blog: http://www.bugclosed.com/post/5 在分布式架构中,服务治理是一个重要的问题.在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进 ...

  5. 我是服务的执政官-服务发现和注册工具consul简介

    服务发现和注册 我们有了两个服务.服务A的IP地址是192.168.0.1,端口9001,服务B的IP地址192.168.0.2,端口9002.我们的客户端需要调用服务A和服务B,我们只需要在配置文件 ...

  6. 服务发现之 Etcd VS Consul

    抄自这里 *********************************************************************************************** ...

  7. 简单聊聊服务发现(redis, zk,etcd, consul)

    什么是服务发现? 服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP ...

  8. 服务发现框架选型,Consul还是Zookeeper还是etcd

    背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现. 想直接查看结论的同学,请直接跳到文末. 目前,市面上有非常多的服务发现工 ...

  9. 简单聊聊服务发现(redis, zk,etcd, consul)(转载)

    服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP服务器,提供了AP ...

  10. WCF分布式服务2-服务配置部署

    上图整理了服务配置过程中所用到的基本的元素,大致的步骤: 1. 主要是首先要在调用服务的程序集中添加服务的一个引用. 2.  然后添加一个service并指定服务的名称.终结点. 在添加一个servi ...

随机推荐

  1. 语音识别 可以跑在MCU上吗

    Ref: https://developer.arm.com/Additional%20Resources/Video%20Tutorials/AITechTalk-Video-Speech%20re ...

  2. FCA-FineBI最新版考试答案,全全全!!!

    FCA-FineBI最新版考试答案,全全全!!!-CSDN博客同博客​ Part.1:判断 第1题 判断题 「TODATE」函数或者「DATE」函数,可以将文本字段或数值字段转变成时间类型的字段.(得 ...

  3. Linq操作XML生成XML,实体生成XML和互转

    开发接口中难免会遇到一些数据对接需要转换城xml,看到很多之前的代码都使用很传统的方法循环集合并定义xml后一一生成的,代码之封锁 特此使用了简单易用linq操作分享给大家,希望可以帮到需要的同学 今 ...

  4. echarts实现pie自定义标签

    echarts实现pie自定义标签 一.环境 vue + echarts 实现饼图的自定义标签 二.实现效果 三.实现方式 import * as echarts from 'echarts'; ex ...

  5. OData – 坑

    前言 OData 有很多很多的坑,我的主张是能少用一样是一样,比如 Batch Processing 不要用,Inheritance 不要用,除了 GET 其它 PUT POST DELETE 都不要 ...

  6. ASP.NET Core – Work with X509

    前言 这篇主要是说如何用 ASP.NET Core 读写系统里的证书 Store 和创建一个证书, 还有使用证书做加密, 解密, 签名. 主要参考: C#数字证书编程总结 (读写证书 Store) E ...

  7. 暑集假训SCP提高拟模21

    \[だから妄想感傷代償連盟 \] \[愛を懐いて理想を叫んだ \] \[行き場のない愚者のメロディー \] \[再挑戦•転生•テレポーテーション \] \[何回だって 重ねて逝くんだ \] \[終わり ...

  8. 什么是 Ajax,Ajax 的原理,Ajax 都有哪些优点和缺点

    ajax是异步的js和xml,是一种创建交互式网页的开发技术,是和服务器进行异步通讯的技术 : 核心就是使用XMLHttpRequest向服务器发送请求获取数据 : 优点: 页面不需要刷新,用户体验良 ...

  9. dockerfile构建docker镜像

    1.dockerfile构建nginx镜像,准备nginx.repo文件 [root@localhost dockerfile]# cat nginx.repo [nginx] name = ngin ...

  10. spring cloud openfeign源码分析

    大体流程鱼骨图 1.读取配置 启动类上添加注解@EnableFeignClients,工程启动后会自动读取注解上的配置 1 @Retention(RetentionPolicy.RUNTIME) 2 ...