consul 的入门指北针

Helen_Cat · · 894 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

记得前年 听某某技术大会,就已经有几家大公司在使用consul来替代 zookeeper
年轻的架构师喜欢尝试新的技术,比如架构师越年轻越推崇使用golang来做后端,
等九零后开始了,要用julia haskell rust做后端

consul 做服务发现 其实蛮不错的,自己功能还是很丰富的
首先 consul 学习曲线 还是挺曲折的,门槛不低,
给大家推荐 一些学习资料
http://consul.la/intro/getting-started/join
https://github.com/smarkm/consuldocs_zh/blob/a93ed5a2b75cbbde2fff4740891df8ae4b87148b/docs/agent/basics.md
http://www.liangxiansen.cn/2017/04/06/consul/
https://blog.csdn.net/scdxmoe/article/details/73866905
这些资料学会了 consul 基本就可以在测试生产中使用了

先下载 consul
https://releases.hashicorp.com/consul/1.2.3/consul_1.2.3_linux_amd64.zip
在 centos7上
使用root 用户

unzip consul_1.2.3_linux_amd64.zip  -d /usr/local
ln -s /usr/local/consul /usr/local/bin/consul
consul -version

consul 基本上就可以使用了
如果要搭建集群,要确保集群中的机器 防火墙是关闭的,至少 8300 8500 tcp udp 等都是好用的
另外最好是 ssh 免密码登陆的

单机模式
直接

consul   agent -dev

这个是开发模式 的,只是让你测试用的,
然后可以通过 web ui 8500端口查看
另外你也可以通过

consul members

Node   Address         Status  Type    Build  Protocol  DC    Segment
delpc  127.0.0.1:8301  alive   server  1.2.3  2         sz-1  <all>

之后我们尝试使用consul 的集群,限于自己当前只有两台电脑,我就搭建了一个server 一个client 的集群
node1 192.168.25.175
node2 192.168.25.104
以 node1为server node2 为client
首先在 node1上

consul agent -server -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -ui -bind=192.168.25.175

这样 node1 上 server 就启动了

之后在 node2上

consul agent -data-dir /tmp/consu -node gf2 -ui -bind 192.168.25.104

这样 node2 上client 就启动了

之后node2 要投入到 node1的怀抱中,就是要join 到node1 的怀抱
然后在node2上执行

consul join 192.168.25.175

如果console 提示

Successful joined cluster by contacting 1 nodes

说明真的加入了,需要 提示一下,node2 必须先启动client 服务,不要直接就 join ,肯定是join 不上的

image.png

最简单的集群就ok了

另外如果 node1 server 挂掉了,node2 也就处于阻塞中,当node1 重启后,node2会主动加入进来,另外好像consul 支持 多个server 模式同存,这样有一个server挂掉了,另一个server 还可以继续提供服务


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Helen_Cat

查看原文:consul 的入门指北针

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

894 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传