In verteilten Systemen ist das Konfigurationsmanagement ein sehr wichtiger Link. etcd ist ein hochverfügbarer, verteilter und konsistenter Schlüsselwert-Speichercontainer, der häufig in Szenarien wie verteilter Koordination, Serviceerkennung und Konfigurationsverwaltung verwendet wird. Golang ist eine kompilierte Sprache, die sich aufgrund ihrer effizienten Leistung und Parallelität zur besten Wahl für die Verwendung von etcd entwickelt hat. In diesem Artikel wird erläutert, wie Golang etcd verwendet.
Laden Sie die systemkonforme Version von der offiziellen Website https://github.com/etcd-io/etcd/ herunter. Veröffentlichungen. Führen Sie einfach etcd nach der Komprimierung aus. #? Die Verbindung zu etcd kann über die von etcd bereitgestellte clientv3-Bibliothek hergestellt werden. Das Folgende ist ein einfaches Beispiel für die Verbindung von etcd:
go get go.etcd.io/etcd/clientv3
import ( "context" "fmt" "go.etcd.io/etcd/clientv3" ) func main() { config := clientv3.Config{ Endpoints: []string{"localhost:2379"}, // etcd endpoints DialTimeout: 5 * time.Second, } client, err := clientv3.New(config) if err != nil { // handle error } defer client.Close() }
import ( "context" "fmt" "go.etcd.io/etcd/clientv3" ) func main() { // 连接etcd config := clientv3.Config{ Endpoints: []string{"localhost:2379"}, // etcd endpoints DialTimeout: 5 * time.Second, } client, err := clientv3.New(config) if err != nil { // handle error } defer client.Close() // 写入键值对 _, err = client.Put(context.Background(), "hello", "world") if err != nil { // handle error } // 读取键值对 resp, err := client.Get(context.Background(), "hello") if err != nil { // handle error } // 输出键的值 for _, ev := range resp.Kvs { fmt.Printf("%s : %s ", ev.Key, ev.Value) } }
In diesem Beispiel erstellen wir einen Kontext und verwenden die Watch-Methode, um den „Hallo“-Schlüssel in etcd zu überwachen. Wenn sich der Wert eines Schlüssels ändert, gibt die Watch-Methode eine Benachrichtigung zurück, die das geänderte Schlüssel-Wert-Paar enthält. Wir können diese Benachrichtigungen durchlaufen und den entsprechenden Inhalt ausgeben.
ZusammenfassungDas obige ist der detaillierte Inhalt vonSo verwenden Sie etcd in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!