一篇带给你consul简介及安装

系统 Linux
consul提供了服务注册与发现框 架、分布一致性协议实现、健康检查、KV存储、多数据中心方案等功能。

[[408519]]

简介

consul提供了服务注册与发现框 架、分布一致性协议实现、健康检查、KV存储、多数据中心方案等功能。

  • 一致性:采用的是RAFT算法保证分布式节点的一致性。
  • 服务发现:采用http和dns协议。
  • 服务注册:1、通过http API,由服务自己调用API实现注册,2、通过JSON配置文件实现注册,将需要注册的服务以JSON格式的配置文件给出。
  • 服务间的通讯协议:使用gossip协议管理成员关系、广播消息到整个集群

角色

1、client

客户端模式:将所有注册到当前节点的服务会被转发到server,自己是不持久化数据。

2、server

server模式:功能和客户端模式一样,不同的是会把所有的信息持久化的本地。

3、server-leader

server leader模式:其它server的领导者,和其它server不一样的是需要负责同步注册的信息给其它的server,同时也要负责各个节点的健康监测。

安装

CentOS 上可以直接使用yum进行安装

  1. sudo yum install -y yum-utils 
  2. sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo 
  3. sudo yum -y install consul 

也可以直接下载二进制包,解压就可以直接使用。

  1. tar zxvf consul_1.9.6_linux_amd64.zip  -C /usr/local/bin/ 

启动服务(单节点)

  1. nohup consul  agent -server -data-dir=/data/consul-data/  -node=node1 -bind=0.0.0.0 -bootstrap-expect=1 -client=0.0.0.0 -ui > /data/consul-data/consul.log  & 
  • –server 指定server agent
  • –data-dir l数据存储路径
  • –bootstrap-expect 期望的server节点数目,consul一直等到指定sever数目才会引导整个集群
  • –bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
  • –node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名
  • –ui: web的管理ui,查看服务和节点,可以通过访问:8500端口要访问UI
  • –client:提供HTTP、DNS、RPC等服务,默认是127.0.0.1,不对外提供服务,如果需要则改成0.0.0.0

单节点扩容

  1. nohup consul agent -bind=0.0.0.0 -client=0.0.0.0 -data-dir=/data/consul-data/ -node=node2 -join=192.168.122.100 > /data/consul-data/consul.log 2>&1 & 

192.168.122.100就是刚才那台服务器的IP

总结

consul部署很方便,可以试试。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2021-07-06 06:50:31

pikaredis存储数据

2021-07-12 06:11:14

SkyWalking 仪表板UI篇

2021-06-09 09:08:10

LDOlowdropoutr稳压器

2022-03-01 13:55:27

TektonKubernetes集群

2023-07-06 08:22:49

SonarQubeToken

2021-06-21 14:36:46

Vite 前端工程化工具

2022-04-29 14:38:49

class文件结构分析

2021-04-08 11:00:56

CountDownLaJava进阶开发

2021-01-28 08:55:48

Elasticsear数据库数据存储

2023-03-29 07:45:58

VS编辑区编程工具

2022-03-22 09:09:17

HookReact前端

2022-02-17 08:53:38

ElasticSea集群部署

2021-04-14 14:16:58

HttpHttp协议网络协议

2021-03-12 09:21:31

MySQL数据库逻辑架构

2021-07-21 09:48:20

etcd-wal模块解析数据库

2021-04-01 10:51:55

MySQL锁机制数据库

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2022-03-03 09:05:17

索引MySQL数据查询

2023-02-27 10:17:05

EventBus观察者模式

2022-09-20 07:33:15

Jenkinshttps://mp
点赞
收藏

51CTO技术栈公众号