分布式服务注册发现与统一配置管理Consul的方法(consul,开发技术)

时间:2024-04-29 22:29:31 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    %E5%88%86%E5%B8%83%E5%BC%8F%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%8F%91%E7%8E%B0%E4%B8%8E%E7%BB%9F%E4%B8%80%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86Consul%E7%9A%84%E6%96%B9%E6%B3%95

下载相应版本解压,并将可执行文件复制到/usr/local/consul目录下

创建一个service的配置文件

启动代理

-dev 参数代表本地测试环境启动;-node 参数表示自定义集群名称;-config-drir 参数表示services的注册配置文件目录,即上面创建的文件夹-ui 启动自带的web-ui管理页面

集群成员查询方式

HTTP协议数据查询

Consul的web-ui可以用来进行服务状态的查看,集群节点的检查,访问列表的控制以及KV存储系统的设置,相对于Eureka和ETCD,Consul的web-ui要好用的多。(Eureka和ETCD将在下一篇文章中简单介绍。)

7.KV存储的数据导入和导出

temp.json文件内容格式如下,一般是管理页面配置后先导出保存文件,以后需要再导入该文件

Consul的KV存储系统是一种类似zk的树形节点结构,用来存储相关key/value键值对信息的,我们可以使用KV存储系统来实现上面提到的配置中心,将统一的配置信息保存在KV存储系统里面,方便各个实例获取并使用同一配置。而且更改配置后各个服务可以自动拉取最新配置,不需要重启服务。

maven pom依赖增加,版本可自由更换

Consul 基本工具类,根据需要相应扩展


3.通过上面的基本工具类可以实现服务的注册和KV数据的获取与存储功能

三台主机Consul下载安装,我这里没有物理主机,所以通过三台虚拟机来实现。虚拟机IP分192.168.231.145,192.168.231.146,192.168.231.147

将145和146两台主机作为Server模式启动,147作为Client模式启动,Server和Client只是针对Consul集群来说的,跟服务没有任何关系!

Server模式启动145,节点名称设为n1,数据中心统一用dc1

目前只启动了145,所以还没有集群

4.Server模式启动146,节点名称用n2,并在n2上启用了web-ui管理页面功能

同样没有集群发现,此时n1和n2都启动起来,但是互相并不知道集群的存在!

5.将n1节点加入n2

此时n1和n2都打印发现了集群的日志信息

6.这个时候n1和n2两个节点已经是一个集群里面的Server模式的节点了

7.Client模式启动147

8.在n3上面将节点n3加入集群

9.再次查看集群节点信息

10.此时三个节点的Consul集群搭建成功了!其实n1和n2是Server模式启动,n3是Client模式启动。

11.关于Consul的Server模式和Client模式主要的区别是这样的,一个Consul集群通过启动的参数-bootstrap-expect来控制这个集群的Server节点个数,Server模式的节点会维护集群的状态,并且如果某个Server节点退出了集群,则会触发Leader重新选举机制,在会剩余的Server模式节点中重新选举一个Leader;而Client模式的节点的加入和退出很自由。

12.在n2中启动web-ui

本文:分布式服务注册发现与统一配置管理Consul的方法的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Spring中IOC实例分析下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18