Получение не реализованного desc = неизвестная ошибка службы gRPC - PullRequest
0 голосов
/ 11 мая 2018

В одной из моих служб, которая оказывается моим балансировщиком нагрузки, я получаю следующую ошибку при вызове метода сервера в одной из моих развернутых служб:

Ошибка RPC: код = не реализовано desc = неизвестный сервис fooService.FooService

У меня есть несколько других служб, настроенных с помощью gRPC, и они работают нормально. Похоже, что это именно тот, и мне интересно, потому ли это, что это loadbalancer?

func GetResult(w http.ResponseWriter, r *http.Request) {

    conn, errOne := grpc.Dial("redis-gateway:10006", grpc.WithInsecure())       
    defer conn.Close()

    rClient := rs.NewRedisGatewayClient(conn)
    result , errTwo := rClient.GetData(context.Background(), &rs.KeyRequest{Key: "trump", Value: "trumpVal"}, grpc.WithInsecure())

    fmt.Fprintf(w, "print result: %s \n", result)   //prints nil
    fmt.Fprintf(w, "print error one: %v \n", errOne) // prints nil
    fmt.Fprintf(w, "print error two: %s \n", errTwo) // prints error

}

Ошибка говорит о том, что не существует службы с именем fooService.FooService, которая имеет значение true, поскольку имя DNS для службы, которую я вызываю, называется foo-service. Однако это точно такая же настройка для других моих служб, которые используют gRPC и работают нормально. Также мои прото-файлы правильно настроены, так что это не проблема.

сервер, которому я звоню:

 func main() {

    lis, err := net.Listen("tcp", ":10006")
    if err != nil {
        log.Fatalf("failed to listen: %v", err)
    }

    grpcServer := grpc.NewServer()
    newServer := &RedisGatewayServer{}
    rs.RegisterRedisGatewayServer(grpcServer, newServer)

    if err := grpcServer.Serve(lis); err != nil {
        log.Fatalf("failed to serve: %v", err)
    }

}

Функция, к которой я пытаюсь получить доступ от клиента:

func (s *RedisGatewayServer) GetData(ctx context.Context, in *rs.KeyRequest)(*rs.KeyRequest, error) {

     return in, nil
}

Мои файлы docker и yaml верны также с правильными именами и портами.

...