watch是在consul进行监视的服务配置。 watch轮询服务的状态,并在服务变得健康,变得不健康或者实例数量发生变化时发出事件。 请注意,watch不包括行为; watch只发出事件,以便job可以消耗该事件。

watch配置仅包括以下字段:

watches: [
{
name: "backend",
interval: 3,
tag: "prod", // optional
dc: "us-east-1" // optional
}
]
interval是轮询尝试consul之间的时间(以秒为单位)。 name是要查询的服务, tag是添加到查询中的可选标记, dc是可选的Consul 数据中心进行查询。 watch保留与服务相关联的健康IP地址的内存列表。 该列表不会持久存储在磁盘中,并且如果ContainerPilot重新启动,则需要使用规范数据存储区(即Consul)来检查。 如果此列表在轮询之间更改,watch将发出一个或两个事件:
  • 每当发生变化时, changed事件。
  • 每当观看的服务变得健康时,就会发出healthy事件。 这可能意味着state以前是未知的(就像当ContainerPilot第一次启动时),或者它以前是不健康的,现在是健康的。 此事件只会针对实例的状态或计数的每次更改触发一次。 返回相同值的后续轮询不会再次发生事件。
  • 每当观看的服务变得不健康时,会发出unhealthy事件。 这可能意味着当我们第一次轮询时,该服务还没有运行,或者它以前是健康的,现在是不健康的。 这个事件只会在状态变化时被触发一次。 返回相同值的后续轮询不会再次发生事件。

watch发出的事件的名称命名为不与内部job名称相冲突。 这些事件以watch为前缀。 以下是监听观看事件的job示例配置:

jobs: [
{
name: "update-app",
exec: "/bin/update-app.sh",
when: {
source: "watch.backend",
each: "changed"
}
}
],
watches: [
{
name: "backend",
interval: 3
}
]

在这个例子中,watchbackend将每3秒检查一次。 每次watch发射changed事件时, update-appjob将执行/bin/update-app.sh

Containerpilot 配置文件 之 Watches的更多相关文章

  1. Containerpilot 配置文件 之 consul

    Consul ContainerPilot使用Hashicorp的consul在作为服务的容器中注册工作. Watches查询consul找出其他服务的状态. Client configuration ...

  2. Containerpilot 配置文件reload

    containerpilot -reload -config ./containerpilot.json 进程号不变,重新加载配置文件

  3. Containerpilot 配置文件示例

    { consul: "localhost:8500", logging: { level: "INFO", format: "default" ...

  4. Containerpilot 配置文件 之 Jobs

    ContainerPilot job是用户定义的进程和规则,用于何时执行它,如何进行健康检查,以及如何向Consul做广告. 这些规则旨在允许灵活性覆盖几乎可能要运行的任何类型的进程. 一些可能的jo ...

  5. Containerpilot 配置文件模板

    { "consul": "{{ .CONSUL }}:8500", "logging": { "level": &quo ...

  6. Containerpilot 配置文件 之 Telemetry

    如果提供telemetry选项,ContainerPilot将公开可用于刮擦性能telemetry的Prometheus HTTP客户端界面. telemetry接口被公告为consul服务. tel ...

  7. Grunt配置文件编写技巧及示范

    受益于grunt这么久,继续分享关于grunt的一些技巧.grunt确实是前端项目中不可或缺的提升效率的工具.第一次接触grunt是在去年7月份,开始有接触LESS.Coffee Script的等需要 ...

  8. 【Consul】Consul实践指导-配置文件

    Agent有各种各样的配置选项,这些配置选项可以通过命令行参数的方式设定,也可用通过配置文件的方式设定--所有的配置选项都是可选的,当然也是有默认值的. 当加载配置选项时,consul是按照词典顺序从 ...

  9. 分布式存储系统之Ceph集群状态获取及ceph配置文件说明

    前文我们了解了Ceph的访问接口的启用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16727620.html:今天我们来聊一聊获取ceph集群状态和 ...

随机推荐

  1. 带你走进Linux(Ubuntu)

    类Unix系统目录结构 ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录.所有的东西都是从这里开始.当你在终端里 ...

  2. bzoj3503 和谐矩阵

    Description 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本身,及他上下左右的4个元素(如果存在).给定矩阵的行数和列数,请计算并输出一 ...

  3. 1027 Colors in Mars (20 分)

    1027 Colors in Mars (20 分) People in Mars represent the colors in their computers in a similar way a ...

  4. [转载] ./configure,make,make install的作用

    1.configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/u ...

  5. configure: error: You need a C++ compiler for C++ support.

    安装pcre包的时候提示缺少c++编译器 报错信息如下: configure: error: You need a C++ compiler for C++ support. 解决办法,使用yum安装 ...

  6. CART、GradientBoost

    转载:https://blog.csdn.net/niuniuyuh/article/details/76922210 论文:http://pdfs.semanticscholar.org/0d97/ ...

  7. seaborn分类数据可视化

    转载:https://cloud.tencent.com/developer/article/1178368 seaborn针对分类型的数据有专门的可视化函数,这些函数可大致分为三种: 分类数据散点图 ...

  8. Web API 源码剖析之默认消息处理程序链之路由分发器(HttpRoutingDispatcher)

    Web API 源码剖析之默认消息处理程序链-->路由分发器(HttpRoutingDispatcher) 我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的 ...

  9. blktrace未公开选项网络保存截取数据

    本文链接地址: blktrace未公开选项网络保存截取数据 我们透过blktrace来观察io行为的时候,第一件事情需要选择目标设备,以便分析该设备的io行为.具体使用可以参考我之前写的几篇:这里 这 ...

  10. JS 传各种文件到后端

    由于要写一个前端上传文件按钮功能,本人前端是小白,所以在网上搜索了许多,发现FileReader非常好用. 不多BB,直接来. 1,前端只需要一个input标签, <input type=&qu ...