consul使用

作者:zarte    发布时间: 2021-02-28

微服务gorpc网关

源码https://github.com/hashicorp/consul
官方文档 https://www.consul.io/docs/install

介绍

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现框 架

分布一致性协议实现、
健康检查、
Key/Value存储、
多数据中心方案,
不再需要依赖其他工具(比如ZooKeeper等)。

Img

consul的集群是由N个SERVER,加上M个CLIENT组成的。而不管是SERVER还是CLIENT,都是consul的一个节点,所有的服务都可以注册到这些节点上,正是通过这些节点实现服务注册信息的共享。

  1. CLIENTCLIENT表示consul的client模式,就是客户端模式。是consul节点的一种模式,这种模式下,所有注册到当前节点的服务会被转发到SERVER,本身是不持久化这些信息。

  2. SERVERSERVER表示consul的server模式,表明这个consul是个server,这种模式下,功能和CLIENT都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。 每个数据中心的 server 数量推荐为 3 个或是 5 个.

  3. SERVER-LEADER中间那个SERVER下面有LEADER的字眼,表明这个SERVER是它们的老大,它和其它SERVER不一样的一点是,它需要负责同步注册的信息给其它的SERVER,同时也要负责各个节点的健康监测。

开始使用

下载

https://www.consul.io/downloads

启动

chmod 777 consul
./consul
Img 如上正常

./consul agent -server -bootstrap-expect 1 -data-dir=./tmp/consul -node=n1 -bind=127.0.0.1 -client=0.0.0.0 -ui

-server 表示是server模式
-bootstrap-expect=3 表示是集群中有3台服务器 bootstrap该模式node可以指定自己作为leader ,如果是非leader可不加该参数
-data-dir=/tmp/consul 目录
-node=n2 该服务器节点名
-bind=127.0.0.1 节点绑定的ip
-ui 非必须 webui的路径 用web来管理consul

参数总结可以看参考网站

查看站点 默认是8500端口
http://127.0.0.1:8500/ui/dc1/services Img

上一篇:  golang使用grpc开发

下一篇:  php pdo mysql多表查询重名字段被覆盖修复方案

加载更多