由于在公司使用了 idea 软件开发或者测试项目,今天记录一下关于idea中导入项目时需要创建的一个重要的东西: consul。
首先来介绍一下什么是consul
consul:
是一个服务管理软件。
支持多数据中心下,分布式高可用的,服务发现和配置共享。
consul支持健康检查,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.
命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品.
一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制.
consul的使用场景:
- docker 实例的注册与配置共享
- coreos 实例的注册与配置共享
- vitess 集群
- SaaS 应用的配置共享
- 与 confd 服务集成,动态生成 nginx 和 haproxy 配置文件
consul的角色:
client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群.
server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中 心的 server 数量推荐为 3 个或是 5 个.
server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中 心的 server 数量推荐为 3 个或是 5 个.
安装consul:
其实如上第二个图我们也可以不用使用,当我们打开idea想要打开consul服务,我们只需要下面一行命令即可:
./consul agent -data-dir /tmp/consul -node=hh-bind=192.168.0.107 -join=192.168.0.15
其中第一个IP改成自己电脑的IP , hh可以改成自己想要的名字即可。
我们要在自己的idea的设置中设置一行:
之后就可以运行啦!
如果是苹果的话可以在终端上敲出如上所示的命令,关于brew下节讲解