zoukankan      html  css  js  c++  java
  • ETCD监控

    Watch key changes

    Applications can watch on a key or a range of keys to monitor for any updates.

    Here is the command to watch on key foo:

    $ etcdctl watch foo
    # in another terminal: etcdctl put foo bar
    PUT
    foo
    bar

    Here is the command to watch on key foo in hex format:

    $ etcdctl watch foo --hex
    # in another terminal: etcdctl put foo bar
    PUT
    x66x6fx6f          # Key
    x62x61x72          # Value

    Here is the command to watch on a range key from foo to foo9:

    $ etcdctl watch foo foo9
    # in another terminal: etcdctl put foo bar
    PUT
    foo
    bar
    # in another terminal: etcdctl put foo1 bar1
    PUT
    foo1
    bar1

    Here is the command to watch on keys having prefix foo:

    $ etcdctl watch --prefix foo
    # in another terminal: etcdctl put foo bar
    PUT
    foo
    bar
    # in another terminal: etcdctl put fooz1 barz1
    PUT
    fooz1
    barz1

    Here is the command to watch on multiple keys foo and zoo:

    $ etcdctl watch -i
    $ watch foo
    $ watch zoo
    # in another terminal: etcdctl put foo bar
    PUT
    foo
    bar
    # in another terminal: etcdctl put zoo val
    PUT
    zoo
    val

    监控历史版本变化,为了解决监控期间故障,保证数据更新不会丢失

    Suppose we finished the following sequence of operations:

    $ etcdctl put foo bar         # revision = 2
    OK
    $ etcdctl put foo1 bar1       # revision = 3
    OK
    $ etcdctl put foo bar_new     # revision = 4
    OK
    $ etcdctl put foo1 bar1_new   # revision = 5
    OK


    # watch for changes on key `foo` since revision 2
    $ etcdctl watch --rev=2 foo
    PUT
    foo
    bar
    PUT
    foo
    bar_new
    # watch for changes on key `foo` since revision 3
    $ etcdctl watch --rev=3 foo
    PUT
    foo
    bar_new


    $ etcdctl watch --prev-kv foo=====最近的修改前和修改后
    # in another terminal: etcdctl put foo bar_latest
    PUT
    foo         # key
    bar_new     # last value of foo key before modification
    foo         # key
    bar_latest  # value of foo key after modification

    版本压缩
    $ etcdctl compact 5
    compacted revision 5
    
    # any revisions before the compacted one are not accessible
    $ etcdctl get --rev=4 foo
    Error:  rpc error: code = 11 desc = etcdserver: mvcc: required revision has been compacted


    授予租约
    # grant a lease with 10 second TTL
    $ etcdctl lease grant 10
    lease 32695410dcc0ca06 granted with TTL(10s)
    
    # attach key foo to lease 32695410dcc0ca06
    $ etcdctl put --lease=32695410dcc0ca06 foo bar
    OK

    Suppose we finished the following sequence of operations:

    $ etcdctl lease grant 10
    lease 32695410dcc0ca06 granted with TTL(10s)
    $ etcdctl put --lease=32695410dcc0ca06 foo bar
    OK

    取消租约会删除所有附加的KEY

    Here is the command to revoke the same lease:

    $ etcdctl lease revoke 32695410dcc0ca06
    lease 32695410dcc0ca06 revoked
    
    $ etcdctl get foo
    # empty response since foo is deleted due to lease revocation
    查看租约信息
    # grant a lease with 500 second TTL
    $ etcdctl lease grant 500
    lease 694d5765fc71500b granted with TTL(500s)
    
    # attach key zoo1 to lease 694d5765fc71500b
    $ etcdctl put zoo1 val1 --lease=694d5765fc71500b
    OK
    
    # attach key zoo2 to lease 694d5765fc71500b
    $ etcdctl put zoo2 val2 --lease=694d5765fc71500b
    OK

    Here is the command to get information about the lease:

    $ etcdctl lease timetolive 694d5765fc71500b
    lease 694d5765fc71500b granted with TTL(500s), remaining(258s)

    Here is the command to get information about the lease along with the keys attached with the lease:

    $ etcdctl lease timetolive --keys 694d5765fc71500b
    lease 694d5765fc71500b granted with TTL(500s), remaining(132s), attached keys([zoo2 zoo1])
     
     


  • 相关阅读:
    C++进程通信之命名管道
    从Win32过渡到MFC工程
    Windows常用消息处理与自定义消息
    Windows窗口开发原理(窗口的创建&消息机制)
    _T、_TEXT、TEXT、L的使用记录
    几种多线程同步方式总结
    异步编程之async&await
    rpc理解
    docker 基础namespace cgroup overlayfs network
    python编程书籍资料整理大全
  • 原文地址:https://www.cnblogs.com/justart/p/11670558.html
Copyright © 2011-2022 走看看