文档: 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. Angular 18+ 高级教程 – Component 组件 の Pipe 管道

    介绍 Pipe 类似于 Template Syntax,它的用途是 transform value for display. 参考: Docs – Understanding Pipes DatePi ...

  2. EF Core – Get Started 搭建单侧环境

    有时候想搭个环境做测试, 又记不住那些 command, 官方教程又啰嗦. git clone 模板又不太好管理, 索性记入在这里吧. 创建项目 dotnet new webapp -o Simple ...

  3. Figma 学习笔记 – Team Library Style and Component

    Design System 我们做设计通常会 Follow 一个 Design System, 比如 Material Guide. 里头会定义 Font, Color, Effect (Elevat ...

  4. QT6 QML编程

    QT6 QML编程 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C++扩展开发视频课程 免费QT视频课程 您可以看免费1000+个QT技 ...

  5. springboot起步依赖

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  6. 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年4月刊

    本文为大家整理了墨天轮数据社区2023年4月发布的优质技术文章,主题涵盖Oracle.MySQL.PostgreSQL等数据库的基础安装配置.故障处理.性能优化等日常实践操作,以及概念梳理.常用脚本. ...

  7. 2023年2月中国数据库排行榜:OTO新格局持续三月,人大金仓、AnalyticDB排名创新高

    玉兔迎春至,榜单焕新颜. 2023年2月,兔年开年的 墨天轮中国数据库流行度排行 火热出炉,本月共有259个数据库参与排名,排行榜样式去掉了较上月和半年前得分差的数据显示,更加聚焦各产品之间的排名变化 ...

  8. break,continue,return的只要区别

    a)break 结束当前循环体 b)continue 结束本次的循环,执行下次的循环 c)return 结束函数体,并返回值 d)break 和 continue 写在循环里(for,while)re ...

  9. 小程序的button组件

    button组件 按钮组件 功能比html的button按钮丰富 可以通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户权限,获取用户信息等): 按钮的属性 size 按钮的大 ...

  10. KubeSphere 社区双周报 | 功能亮点抢“鲜”看 | 2022-09-16

    KubeSphere 从诞生的第一天起便秉持着开源.开放的理念,并且以社区的方式成长,如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一.这些都离不开社区小伙伴的共同努力,你们为 Ku ...