1,关于Consul
Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现。
有了很多实用的功能。
一致性协议采用 Raft 算法,来保证服务的高可用。
项目地址:https://www.consul.io/
github地址:https://github.com/hashicorp/consul
2,安装
在CentOS下面直接解压缩安装即可。
下载地址:
https://www.consul.io/downloads.html
解压缩发现就有一个文件。没有配置。连个ReadMe也没有。
我的机器使用Virtualbox安装的Centos。所以需要修改IP。启动命令:
./consul agent -dev -ui -node=consul-dev -client=10.0.2.15
-dev 参数表示开发
-ui 参数表示打开ui,否则看不到ui界面。
-node 参数表示给这个节点增加一个名称
-client 参数表示绑定 ip 10.0.2.15 ,保证通过Virtualbox端口转发成功。
然后就可以在本机访问ui界面了。
3,访问页面ui
通过 virtualbox的端口转发就可以看到 Node 名称为 consul-dev的节点了。
4,常用命令
使用consul 命令:
https://www.consul.io/docs/commands/index.html
操作kv 命令:Usage: consul kv
因为服务器ip 修改了所有在consul中可以使用环境变量告诉consul命令行。
#export CONSUL_HTTP_ADDR="10.0.2.15:8500"
#consul kv put redis/server "192.168.1.10"
Success! Data written to: redis/server
说明数据增加成功:也可以直接在命令行中查看到了。
也可以直接通过命令行进行查询:
# consul kv get redis/server
192.168.1.10
其他接口api:
https://www.consul.io/docs/agent/http.html
还可以使用客户端直接调用服务器。其实也就是封装了下http服务。
写代码比使用curl要方便很多。
https://www.consul.io/downloads_tools.html
可以使用很多客户端进行调用。api其实都是一样的。
5,总结
总结下了,体验了下一个单机版本的Consul服务。
只是看了下ui界面,增加了一个kev,value存储。
下载一个Java 或者是golang的客户端再进行研究下。
就可以了解更多服务发现的东东了。因为有了一个简单的管理界面。
感觉上比etcd要简单方便点。还没有研究到更深入的dns服务发现呢。
继续研究。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141426.htm