rpc 错误:code = 不可用 desc = 连接在 Go 代码中关闭

rac*_*ana 6 go dgraph

我正在研究DgraphGo集成。我正在尝试访问Dgraph查询Go,为此我正在使用github.com/dgraph-io/dgo库。

这是代码:

package main

import (
    "bytes"
    "context"
    "fmt"
    "io/ioutil"
    "log"

    "github.com/dgraph-io/dgo"
    "github.com/dgraph-io/dgo/protos/api"

    "google.golang.org/grpc"
)

func main() {

     query := `{
         people(func: has(name)) {
            name
           follows{
             name
           }
         }
     }`

     conn, err := grpc.Dial("x.x.x.x:8000", grpc.WithInsecure())
     if err != nil {
          log.Fatal(err)
     }
     ctx := context.Background()
     dgraphClient := dgo.NewDgraphClient(api.NewDgraphClient(conn))

     txn := dgraphClient.NewTxn()
     txn.Query(ctx, query)

     request := &api.Request{
          Query: query,
     }

     response, err := txn.Do(ctx, request)
     if err != nil {
          log.Fatal(err)
     }
     fmt.Println(string(response.Json))
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行代码时,我收到错误rpc error: code = Unavailable desc = 连接已关闭。由于我是新手,GoDGraph Database的知识非常有限。

任何人都可以帮助需要进行哪些具体更改才能修复此错误。

Mic*_*Diz 3

端口 8000 上的服务仅是 UI。如果你想使用 gRPC,你必须在端口 9080 中调用它。永远不要使用 8080、8000、6080 等端口。检查此文档https://dgraph.io/docs/deploy/ports-usage/#types-of-ports

在此示例中https://github.com/dgraph-io/dgo/blob/a38d5eaacbf8667cc2d6e7b40bd0978cede4000f/examples_test.go#L35

它使用端口 9180。因为用于测试的集群的偏移量为 100。这意味着 Alpha 中的所有端口都会增加 100 个整数。因此,Alpha 中的所有端口都必须考虑偏移量。其余 API 为 8180,gRPC 为 9180。

通常情况下,当你学习东西时,你永远不会考虑使用offset。所以你可能启动了一个普通的集群。默认端口是9080。