12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package discovery_test
- import (
- "context"
- "fmt"
- "go-common/library/naming"
- "go-common/library/naming/discovery"
- "time"
- )
- // this example creates a registry service to register instance info
- // to discovery server.
- // when the program is about to exit,registry.Cancel should be called.
- func Example() {
- var c = &discovery.Config{
- Nodes: []string{"api.bilibili.co"},
- Zone: "sh001",
- Env: "pre",
- Key: "0c4b8fe3ff35a4b6",
- Secret: "b370880d1aca7d3a289b9b9a7f4d6812",
- }
- var ins = &naming.Instance{
- AppID: "main.arch.test2",
- Addrs: []string{
- "grpc://127.0.0.1:8080",
- },
- Version: "1",
- Metadata: map[string]string{
- "weight": "128",
- "color": "blue",
- },
- }
- d := discovery.New(c)
- cacenl, err := d.Register(context.TODO(), ins)
- if err != nil {
- return
- }
- defer cacenl()
- //start to Serve
- time.Sleep(time.Second * 5)
- }
- // this example creates a discovery client to poll instances from discovery server.
- func ExampleDiscovery() {
- d := discovery.Build("1231234")
- ch := d.Watch()
- for {
- <-ch
- ins, ok := d.Fetch(context.TODO())
- if ok {
- fmt.Println("new instances found:", ins)
- }
- }
- }
|