consul安装搭建

consul安装搭建

介绍

consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。

client

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

server

Server表示consul的server模式,表明这个consul是个server,这种模式下,功能和client都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。

server-leader

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

raft

server节点之间的数据一致性保证,一致性协议使用的是raft,而zookeeper用的paxos,etcd采用的也是raft。

服务发现协议

consul采用http和dns协议,etcd只支持http

服务注册

consul支持两种方式实现服务注册,一种是通过consul的服务注册http API,由服务自己调用API实现注册,另一种方式是通过json个是的配置文件实现注册,将需要注册的服务以json格式的配置文件给出。consul官方建议使用第二种方式。

服务发现

consul支持两种方式实现服务发现,一种是通过http API来查询有哪些服务,另外一种是通过consul agent 自带的DNS(8600端口),域名是以name.service.consul的形式给出,name即在定义的服务配置文件中,服务的名称。DNS方式可以通过check的方式检查服务。

服务间的通信协议

Consul使用gossip协议管理成员关系、广播消息到整个集群,他有两个gossip pool(LAN pool和WAN pool),LAN pool是同一个数据中心内部通信的,WAN pool是多个数据中心通信的,LAN pool有多个,WAN pool只有一个。

前言

1.本指南所用的软件包为 [consul_repo.tgz]

2.安装的环境为 Centos 64位操作系统

3.安装时须为 root 用户进行操作

4.请将软件包上传至服务器上,解压后进入 consul_repo 目录,以下操作如无特殊指明,第一步操作均在 consul_repo 目录下操作

安装操作

  1. 安装 Consul
mkdir /data/apps/
cp -r consul /data/apps/
chmod 755 /data/apps/consul/consul
ln -sv /data/apps/consul/consul /usr/local/bin/consul
  1. 配置 Consul 的启动配置文件(配置文件需进行修改

    请根据服务器及 Consul 集群的环境,修改配置文件,包括 datacenter、node_name、bind_addr、encrypt、ca_file、cert_file、key_file、start_join。

cp -r consul/etc/ /data/apps/consul/
cp -r consul/cert/ /data/apps/consul/
  1. 配置 HServer 的服务定义文件(配置文件需进行修改

    配置文件放入 /data/apps/consul/etc/ 目录下之后,请修改文件中的 ID 和 Address.

    ID: 建议后缀的 00 改为本机IP

    Address: 改为本机内网IP

cp hserver_service_def/*.json /data/apps/consul/etc/
  1. 安装 Consul-template
mkdir -p /data/apps/consul-template/
cp consul-template/consul-template /data/apps/consul-template/
chmod 755 /data/apps/consul-template/consul-template
  1. 配置 HServer 利用 consul-template 监控的项目
cp -r consul-template/etc/*  /data/apps/consul-template/
  1. Consul 服务启动
cd /data/apps/consul/
nohup consul agent -config-dir=/data/apps/consul/etc/ &
  1. [将 HServer 的配置项写入 Consul 的 KV 中](若集群中已经配置 HServer 所需的参数,则此步骤可略过。另,各参数的值请根据所在环境进行修改

  2. 启动 HServer

  3. 启动 Consul-template

cd /data/apps/consul-template/
nohup /data/apps/consul-template/consul-template -config=config/hServer-config.conf &
nohup /data/apps/consul-template/consul-template -config=config/service-imc.conf &
nohup /data/apps/consul-template/consul-template -config=config/service-ims.conf &

参考链接:
https://www.cnblogs.com/cuishuai/p/8194345.html

猜你喜欢

转载自blog.csdn.net/yinjl123456/article/details/123811611