学习收集 - Consul

       Consul用于微服务下的服务治理,主要特点有:服务发现、服务配置、健康检查、键值存储、安全服务通信、多数据中心等。

       Consule的安装超级简单,去官方下载地址Download ,找到自已对应系统的压缩包,解压后里面就一个文件consul, 将这个文件放到你的PATH中,就能直接用了。

 验证下安装:

$ consul version

       Consul是通过Agent来运行的,Agent又分为Server Agent和Client Agent两种类型,这两类型基本上是没区别的,Server Agent会将服务的消息存储起来,至少要启动一个Server Agent,为了防止单点,集群环境中推荐3-5个。

       Client Agent主要用于注销服务、健康检查及转发Server Agent的查询等,它相当于一个代理,所以他必须在集群的每台主机上都要运行。

先看下Agent的常用配置

$ consul agent --help
  • --server 定义运行server agent
  • --data-dir 配置consul数据存储路径
  • --bootstrap-expect :期望的server节点数目,consul一直等到指定sever数目的时候才会引导整个集群
  • --bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
  • --node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名
  • --ui: web的管理ui,查看服务和节点
  • --config-dir:配置文件目录,所有以.json结尾的文件都会被加载,可以是服务或consul自身的配置
  • --client:提供HTTP、DNS、RPC等服务,默认是127.0.0.1,不对外提供服务,如果需要则改成0.0.0.0

       启动一个Server Agent

$ consul agent --server=true --ui=true --data-dir=/tmp/consul --node=server1 --dev

上面的 --server表示以server方式,--ui 会开启一个web ui管理界面, --dev 表示开发者模式,不需要ACL验证。不然那个web ui的打不开会报没有权限。

启动Client Agent

$ consul agent   --data-dir=/tmp/consul_client --join=127.0.0.1:8301 --serf-lan-port=8303 --serf-wan-port=8305  --dns-port=8601 --server-port=8304   --http-port=8503  --server=false   --config-dir=./consul.d  --enable-script-checks   --node=client1

上面有一个--join表示加入到集群中,写server agent的地址就行。 config-dir的配置目录下面一个服务的配置

{
    "service":{
        "name":"web",
        "tags":[
            "local"
        ],
        "port":80,
        "check":{
            "name":"ping",
            "args":["/usr/bin/curl","-s", "http://localhost/"],
            "interval":"10s"
        }
    }
}

上面的命令运行后,会启动一个名字为“web"的服务,并提供健康检查。

web管理界面

可以查看服务的定义和节点,访问[web管理界面](http://127.0.0.1:8500/ui)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值