官网:https://www.consul.io
  官网文档:https://www.consul.io/docs
简介
  consul是一个服务发现的组件,在docker世界中他比较流行,主要是consul不仅具有服务发现功能,还实现了DNS功能(centos默认的是dnsmaqs),监控检查以及事件处理等功能。
  consul的节点有两种角色:bootstrap,leader以及follower;bootstrap是在重启之后都向该节点报道,理论上来bootstrap和选组无关,但是总是要有一个点,在大家启动之后都去报道,作为选主候选人;leader就是选举出来的对外提供服务的设备,follower则是备选人。如client端向follower发送请求,请求将会被重定向到leader节点。

参数说明
  解压缩之后就是一个文件consul;
  -bootstrap:自启动,一个consul集群只能有一个点是bootstrap,这代表集群启动的时候,都向那个节点进行join,大多数情况下,这个bootstrap都是leader(待验证)。不指定(没有此参数)则为非bootstrap点
  -bootstrap-expect:代表这个bootstrap下属有几个代理(agent)。这个参数可以不指定
  agent:所有的节点都是以agent方式运行;agent有两种模式,一种是server,一种是client;其实client场景应用比较少,因为client角色一般都是有应用通过调用http来模拟;所以大多数场景使用agent是作为server。
  bootstrap节点(10.1.108.108):
 ./consul agent -server -bootstrap -advertise=10.1.108.108 -data-dir=/tmp/consul -ui -client=10.1.108.108 
  非bootstrap节点(10.1.108.64)
 ./consul agent -server -advertise=10.1.108.64 -data-dir=/tmp/consul -join 10.1.108.108 -ui -client=10.1.108.108 
  注意后面添加了-ui以及client,ui代表的是启动(enable)可视化网站;client则是指定网站(ui)可访问的网卡范围,默认的是127.0.0.1即只有本地能够访问(lo网卡;如果指定了非loop地址,则可以被别的机器通过指定IP访问(即某个网卡所在的网络访问),端口号是8500(可以通过consul agent启动后,HTTP访问信息可以通过client addr信息看到。如果是指定了0.0.0.0,则代表可以被来自于任何网卡的请求访问

其他功能
  健康检查,这个和marathon的原理是一样的,可以指定一个地址(TCP,HTTP等)定期去访问,有返回则说明健康;
  DNS功能,具备域名解析功能,默认占用53端口(dnsmasq将被弃用);
  自动上报功能(Telemetry);各个节点将会向指定的节点上报一些统计数据;
  监控(Watch),监控指定元素(可能是key,可能是服务,可能是安全检查),一旦元素发生变化,将会导致处理(handle);handler有两种,一种脚本(executable),一种是http;有几种类别,可以监控节点,Node,服务

docker容器的服务发现:consul的更多相关文章

  1. 服务发现 consul cluster 的搭建【转】

    consul cluster setup 介绍和指南: consul用于服务发现.当底层服务发生变化时,能及时更新正确的mysql服务IP. 并提供给业务查询.但需要自行编写脚本,监测数据库状态和切断 ...

  2. 服务发现 - consul 的介绍、部署和使用

    什么是服务发现 相关源码: spring cloud demo 微服务的框架体系中,服务发现是不能不提的一个模块.我相信了解或者熟悉微服务的童鞋应该都知道它的重要性.这里我只是简单的提一下,毕竟这不是 ...

  3. 服务发现 - consul 的介绍、部署和使用(转)

    什么是服务发现 相关源码: spring cloud demo 微服务的框架体系中,服务发现是不能不提的一个模块.我相信了解或者熟悉微服务的童鞋应该都知道它的重要性.这里我只是简单的提一下,毕竟这不是 ...

  4. (转) Docker - Docker1.12服务发现,负载均衡和Routing Mesh

    看到一篇介绍 Docker swarm以及如何编排的好文章,挪放到这里,自己学习的同时也分享出来. 原文链接: http://wwwbuild.net/dockerone/414200.html -- ...

  5. [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务

    转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...

  6. 服务发现 consul cluster 的搭建

    consul cluster setup 介绍和指南: consul用于服务发现.当底层服务发生变化时,能及时更新正确的mysql服务IP. 并提供给业务查询.但需要自行编写脚本,监测数据库状态和切断 ...

  7. docker 容器内服务自启动

    centos6/7 有区别先说6 centos6: 方式一:rc.local + 容器内的启动脚本 1.chkconfig docker on #docker开机自启动2.[root@master y ...

  8. Docker 容器暂停服务 - 七

    docker pause :暂停容器中所有的进程docker unpause :恢复容器中所有的进程 docker pause [OPTIONS] CONTAINER [CONTAINER...] d ...

  9. Docker容器内服务自启

    创建容器时需要配置--privileged和容器启动后执行的命令为/sbin/init/. docker run -d -it --name example -p 3308:3306 -p 2080: ...

随机推荐

  1. 80211n标准建链速率计算

    转:https://wenku.baidu.com/view/93f99dd3ad51f01dc281f1af.html 转:http://www.docin.com/p-1851128644.htm ...

  2. linux alsa pcm(此pcm非硬件pcm接口)

    转:https://blog.csdn.net/crycheng/article/details/7095899 CODEC :音频芯片的控制,比如静音.打开(关闭)ADC(DAC).设置ADC(DA ...

  3. mybatis collection 一对多关联查询,单边分页的问题总结!

    若想直接通过sql实现多级关联查询表结构得有2 个必不可少的字段:id ,parentId,levelId id:主键id, parentId:父id levelId:表示第几级(表本身关联查询的时候 ...

  4. C#多线程学习之Thread

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. RazorEngine性能研究(反射的延深)

    先说下结论 1)RazorEngine 确实很慢,编译过程特别慢,编译过后仍不适合大量重复调用的情况(一次调用可以接受). 2 )   RazorEngine 和 asp.net mvc 里的Razo ...

  6. centos_mysql5.6.35_rpm安装

    1.查看操作系统相关信息.[root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@l ...

  7. 关于图片上传与下载(Java)

    图片的上传 package com.upload; import java.io.IOException;import java.io.PrintWriter; import javax.servle ...

  8. 【P2325】王室联邦(树的遍历+贪心)

    在肖明 #神#的推荐下,我尝试了这个题,一开始想的是暴力枚举所有的点,然后bfs层数,试着和肖明 #神#说了这种方法之后, #神#轻蔑的一笑,说这不就是一个贪心么,你只需要先建树,然后从底下向上遍历, ...

  9. table-layout 属性

    最近被测试提了一个bug,表单的某个字段有1300的字数限制,测试填了1300字,提交后,表格上的呈现丑爆了,那个字段的所在的列撑满了整个表格,其他列被压缩的很小. 后来知道了table-layout ...

  10. flask--Wtform

    一.Wtform WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装:    pip3 install wtform 用途:  1. 用户登录注册       ...