zoukankan      html  css  js  c++  java
  • Containerpilot 配置文件 之 Watches

    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
  • 相关阅读:
    event.target.tagName
    Web安全之跨站伪造请求(CSRF)
    Web安全之XSS 入门与介绍
    Web安全之Web 安全介绍与基础入门知识
    设计模式之命令模式
    前端常用的库和实用技术之JavaScript多线程
    前端常用的库和实用技术之JavaScript面向切面编程
    设计模式之职责链模式
    设计模式之适配器模式
    设计模式之策略模式
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/7206743.html
Copyright © 2011-2022 走看看