分布式服务发现与配置之Consul
文档: 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的更多相关文章
- Consul 服务发现和配置
Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. ...
- consul服务发现和配置共享的软件,
Consul 是什么 consul是一个支持多数据中心分布式高可用服务发现和配置共享的服务软件,由HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2. ...
- Consul 服务发现与配置
Consule 是什么 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul 的客户端可用提供一个服务,比如 api 或 ...
- 基于consul构建golang系统分布式服务发现机制
原文地址-石匠的Blog: http://www.bugclosed.com/post/5 在分布式架构中,服务治理是一个重要的问题.在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进 ...
- 我是服务的执政官-服务发现和注册工具consul简介
服务发现和注册 我们有了两个服务.服务A的IP地址是192.168.0.1,端口9001,服务B的IP地址192.168.0.2,端口9002.我们的客户端需要调用服务A和服务B,我们只需要在配置文件 ...
- 服务发现之 Etcd VS Consul
抄自这里 *********************************************************************************************** ...
- 简单聊聊服务发现(redis, zk,etcd, consul)
什么是服务发现? 服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP ...
- 服务发现框架选型,Consul还是Zookeeper还是etcd
背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现. 想直接查看结论的同学,请直接跳到文末. 目前,市面上有非常多的服务发现工 ...
- 简单聊聊服务发现(redis, zk,etcd, consul)(转载)
服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP服务器,提供了AP ...
- WCF分布式服务2-服务配置部署
上图整理了服务配置过程中所用到的基本的元素,大致的步骤: 1. 主要是首先要在调用服务的程序集中添加服务的一个引用. 2. 然后添加一个service并指定服务的名称.终结点. 在添加一个servi ...
随机推荐
- Pytorch数据加载与使用
前言 在训练的时候通常使用Dataset来处理数据集. Dataset的作用 提供一个方式获取数据内容和标签(label). 实战 from torch.utils.data import Datas ...
- 如何使用 Redis 实现后台房间的数据管理?
摘要:利用 Redis 实现房间业务管理的实践与思考. 文|即构业务后台开发团队 在一些互动场景中,比如语音聊天室.电商直播等,成员控制.连麦.献花.发弹幕等互动功能,通常要求后台服务器能够储 ...
- 【论文解读】RLAIF基于人工智能反馈的强化学习
[论文解读]RLAIF基于人工智能反馈的强化学习 一.简要介绍 人类反馈强化学习(RLHF)可以有效地将大型语言模型(LLM)与人类偏好对齐,但收集高质量的人类偏好标签是一个关键瓶颈.论文进行了一场R ...
- CA-TCC: 半监督时间序列分类的自监督对比表征学习《Self-supervised Contrastive Representation Learning for Semi-supervised Time-Series Classification》(时间序列、时序表征、时间和上下文对比、对比学习、自监督学习、半监督学习、TS-TCC的扩展版)
现在是2023年11月27日,10:48,今天把这篇论文看了. 论文:Self-supervised Contrastive Representation Learning for Semi-supe ...
- 我对互联网和网站运作的理解 – Domain, DNS, Hosting 介绍
前言 一直没有写过关于互联网和网站运作的原理相关文章. 这篇就稍微介绍一下它们. 1. 电脑文件 网站是由许多网页组成的, 网页就是电脑里的 file. extension 是 .html 类似于 . ...
- ASP.NET Core – Custom Input formatters For Partial Update and Handle Under-posting
前言 之前的文章有谈过关于 ASP.NET Core 处理 under-posting 的方式. 它会使用 class default value. 许多时候这可能不是我们期望的. 比如当我们想要 p ...
- 系统编程-操作系统概论PART1
Part1. 计算机的基本组成原理 Part2. 计算机执行原理顶层视图 Part3. 指令 指令周期 取指令和执行指令 指令格式 前面1字节是操作码,代码指令的功能,例如加法功能. 后面3字节用于寻 ...
- Windows自动更新hosts(bat脚本方式)
为了解决无法打开 github 网页的问题,才有了这个自动更新hosts 的命令脚本 hosts 里的内容会每日更新,内容从这里拿 文件:https://raw.hellogithub.com/hos ...
- 《Vue.js 设计与实现》读书笔记 - 第8章、挂载与更新
第8章.挂载与更新 8.1 挂载子节点和元素的属性 扩展子元素的类型可以为数组,并判断如果是数组的话,就先依次挂载所有的子元素. 同时新增节点属性.属性可以通过 el.setAttribute 添加到 ...
- 进程D 状态的产生及原因解释
在 Linux 系统中,进程的 D 状态表示进程处于不可中断的睡眠状态 (Uninterruptible Sleep).这种状态通常由进程等待某些资源或事件引起,这些资源或事件无法立即可用.以下是一些 ...