<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > ### Zookeeper ~~~ package main import ( "github.com/samuel/go-zookeeper/zk" "time" "fmt" ) var conn *zk.Conn func callback(event zk.Event) { //fmt.Println("*******************") //fmt.Println("path:", event.Path) //fmt.Println("type:", event.Type.String()) //fmt.Println("state:", event.State.String()) //fmt.Println("-------------------") } func init() { servers := []string{"192.168.1.170:2181", "192.168.1.171:2181", "192.168.1.172:2181"} option := zk.WithEventCallback(callback) var err error if conn, _, err = zk.Connect(servers, time.Second*5, option); err != nil { fmt.Println(err) return } } /** path 節點 data 節點數據 flags有4種取值: 0:永久,除非手動刪除 zk.FlagEphemeral = 1:短暫,session斷開則改節點也被刪除 zk.FlagSequence = 2:會自動在節點后面添加序號 3:Ephemeral和Sequence,即,短暫且自動添加序號 */ func zkCreate(path string, data []byte, flags int32, ) { p, err := conn.Create(path, data, flags, zk.WorldACL(zk.PermAll)) if err != nil { fmt.Println(err) } fmt.Println(p) } func zkGet(path string) { b, stat, err := conn.Get(path) if err != nil { fmt.Println(err) } fmt.Println("節點數據:", string(b)) fmt.Println("節點信息", stat.Czxid, stat.Version) } func zkSet(path string, data []byte) { _, stat, err := conn.Get(path) if err != nil { fmt.Println(err) } stat, err = conn.Set(path, data, stat.Version) if err != nil { fmt.Println(err) } fmt.Println(stat) } func zkDelete(path string, version int32) { if version == -1 { _, stat, err := conn.Get(path) if err != nil { fmt.Println(err) } version = stat.Version } if err := conn.Delete(path, version); err != nil { fmt.Println(err) } else { fmt.Println("Delete OK") } } func zkListenOne(path string) { //調用conn.ExistsW(path) 或GetW(path)為對應節點設置監聽,該監聽只生效一次 _, _, _, err := conn.ExistsW(path) if err != nil { fmt.Println(err) return } } func zkListenOneChannel(path string) { _, _, ch, err := conn.ExistsW(path) if err != nil { fmt.Println(err) return } go func() { event := <-ch fmt.Println("*******************") fmt.Println("path:", event.Path) fmt.Println("type:", event.Type.String()) fmt.Println("state:", event.State.String()) fmt.Println("-------------------") }() } func main() { //TODO : 監聽事件(只生效一次) //zkListenOne("/data") //TODO : 創建節點 zkCreate("/data", []byte("123456"), 0) //TODO : 往節點添加數據 zkSet("/data", []byte("b3")) //TODO : 開啟一個協程處理chanel中傳來的event事件 //zkListenOneChannel("/data") //TODO : 刪除節點 zkDelete("/data", -1) //TODO : 獲取節點數據 zkGet("/data") } ~~~ * * * > ### 相關閱讀 * [隨筆分類 - Zookeeper](https://www.cnblogs.com/wuxl360/category/874409.html) * [Zookeeper Golang客戶端:go-zookeeper的基本使用](https://blog.csdn.net/zhaominpro/article/details/77543543)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看