文档章节

001-Consul

伟大源于勇敢的开始
 伟大源于勇敢的开始
发布于 2019/12/13 23:33
字数 1148
阅读 8
收藏 0

Consul安装(单节点)

mkdir -p /data/consul
cd /data/consul
wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zip
unzip consul_1.6.2_linux_amd64.zip
复制consul:cp consul /usr/local/bin/,可以直接使用访问consul命令。

配置修改(开发者模式启用,供测试)

自定义端口

consul agent -dev -http-port 8080

指定配置文件

consul agent -dev -config-dir /etc/consul.d/
就是指定加载置文件的目录,该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d,文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置
/etc/consul.d/test.json
{  
    "ports": {    
        "http": 8088
    }  
} 

公网可以访问

-client 0.0.0.0
consul agent -dev -http-port 8080 -client 0.0.0.0

查看节点信息

consul members

consul常用配置文件

-data-dir
作用:指定agent储存状态的数据目录,这是所有agent都必须的,对server尤其重要,因为他们必须持久化集群的状态

-config-dir
作用:指定service的配置文件和检查定义所在的位置。目录必需为consul.d,文件内容都是json格式的数据。配置详解见官方

-config-file
作用:指定一个要装载的配置文件

-dev
作用:开发服务器模式,虽然是server模式,但不用于生产环境,因为不会有任何持久化操作,即不会有任何数据写入到磁盘

-bootstrap-expect
作用: 参数表明该服务运行时最低开始进行选举的节点数,当设置为1时,则意味允许节点为一个时也进行选举;当设置为3时,则等到3台节点同时运行consul并加入到server才能参与选举,选举完集群才能够正常工作。 一般建议服务器结点3-5个。

-node
作用:指定节点在集群中的名称,该名称在集群中必须是唯一的(默认这是机器的主机名),直接采用机器的IP

-bind
作用:指明节点的IP地址,一般是0.0.0.0或者云服务器内网地址,不能写阿里云外网地址。这是Consul侦听的地址,它必须可以被集群中的所有其他节点访问。虽然绑定地址不是绝对必要的,但最好提供一个。

-server
作用:指定节点为server,每个数据中心(DC)的server数推荐3-5个。

-client
作用:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC
默认是127.0.0.1,只允许回环接口访问

10.-datacenter
作用:指定机器加入到哪一个数据中心中。老版本叫-dc,-dc已经失效

集群创建

创建server服务器

consul agent -server -ui -bootstrap-expect=1 -data-dir=/data/consul -node=agent-one -advertise=192.168.83.40 -bind=0.0.0.0 -client=0.0.0.0
-server:服务器模式
-ui:能webui展示
-bootstrap-expect:server为1时即选择server集群leader
-data-dir:consul状态存储文件地址
-node:指定结点名
advertise:本地ip地址
-client:指定可访问这个服务结点的ip

添加节点1变多

server1

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -advertise=192.168.83.40 -bind=0.0.0.0 -client=0.0.0.0

server2

consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-two -advertise=192.168.83.20 -bind=0.0.0.0 -client=0.0.0.0

server2加入集群节点server1

ssh server1
consul join 192.168.83.20

提示:如果剔除节点,consul leave

访问:http://192.168.83.40:8500/

Consul概念

Agent: Consul集群中长时间运行的守护进程,以consul agent 命令开始启动. 在客户端和服务端模式下都可以运行,可以运行DNS或者HTTP接口, 它的主要作用是运行时检查和保持服务同步。
Client: 客户端, 无状态, 以一个极小的消耗将接口请求转发给局域网内的服务端集群.
Server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个.
Datacenter: 数据中心,多数据中心联合工作保证数据存储安全快捷
Consensus: 一致性协议使用的是Raft Protocol
RPC: 远程程序通信
Gossip: 基于 Serf 实现的 gossip 协议,负责成员、失败探测、事件广播等。通过 UDP 实现各个节点之间的消息。分为 LAN 上的和 WAN 上的两种情形。

参考链接: https://blog.csdn.net/achenyuan/article/details/80389410

© 著作权归作者所有

伟大源于勇敢的开始
粉丝 10
博文 261
码字总数 140390
作品 0
深圳
运维
私信 提问
ASP.NET Core微服务之基于Consul实现服务治理(3)

在去年的.NET Core微服务系列文章中,初步学习了一下Consul服务发现,总结了两篇文章。本次基于Docker部署的方式,以一个Demo示例来搭建一个Consul的示例集群,最后给出一个HA的架构示范,也...

edison_zhou
2019/06/19
0
0
Consul的开发者模式之Docker版

目标 在consul的Docker官方镜像页面中,有一种是开发模式的使用Consul镜像,即:主要就是3个节点作为consul集群。 步骤 安装consul镜像 启动consul主节点 这里我们假设,启动的dev-consul进程...

亚林瓜子
2019/06/24
80
0
服务发现之美:Consul集群搭建

近几年随着Docker容器技术、微服务等架构的兴起,人们开始意识到服务发现的必要性。微服务架构简单来说,是一种以一些微服务来替代开发单个大而全应用的方法, 每一个小服务运行在自己的进程里...

Jx战壕
2017/09/10
0
0
Consul Template

在consul-template没出现之前,大家构建服务发现系统,大多采用的是zookeeper、etcd+confd这样类似的系统,之前写过一篇consul+confd的文,讲的是如何动态生成配置文件的,如今consul官方推出...

China_OS
2016/05/15
4.8K
0
consul-template + nginx部署高可用负载均衡

一、目标 1、Nginx实现负载均衡 2、consul-template动态维护Nginx里面的server 3、consul-template监控Consul集群 4、每个服务配置Consul做服务发现 5、最终目的,当服务(Consul)Down机时;...

yzy121403725
2018/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kettle自定义jar包供javascript使用

我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用。 本篇文章有参考自:https://www...

CREATE_17
昨天
82
0
处理CSV文件中的逗号

我正在寻找有关如何处理正在创建的csv文件的建议,然后由我们的客户上传,并且该值可能带有逗号(例如公司名称)。 我们正在研究的一些想法是:带引号的标识符(值“,”值“,”等)或使用|...

javail
昨天
79
0
如何克隆一个Date对象?

将Date变量分配给另一个变量会将引用复制到同一实例。 这意味着更改一个将更改另一个。 如何实际克隆或复制Date实例? #1楼 简化版: Date.prototype.clone = function () { return new ...

技术盛宴
昨天
73
0
计算一个数的数位之和

计算一个数的数位之和 例如:128 :1+2+8 = 11 public int numSum(int num) { int sum = 0; do { sum += num % 10; } while ((num = num / 10) > 0); return sum;......

SongAlone
昨天
124
0
为什么图片反复压缩后普遍会变绿,而不是其他颜色?

作者:Lion Yang 链接:https://www.zhihu.com/question/29355920/answer/119088684 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 业余版概要:安卓的...

shzwork
昨天
71
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部