Позвоните в службу gRP C (Go -micro) из Go клиента через Traefik - PullRequest
1 голос
/ 13 марта 2020

Я использую Go -micro, Docker, Traefik для развертывания моего сервиса. Я развернул службу go -micro и зарегистрировался в Traefik . Это мой статус sum (grp c) на панели инструментов Traefik . Когда я свернул его в Терминале, я получил этот результат , я думал, что это двоичное сообщение grp c. Но когда я использовал этот код

package main

import (
    "context"
    "fmt"
    proto "gomicro-demo/client/service"
    "google.golang.org/grpc"
    "google.golang.org/grpc/metadata"
    "log"
)

func main() {


    con, err := grpc.Dial("localhost:8080", grpc.WithInsecure())

    if err != nil {
        log.Fatal("Connection error: ", err)
    }

    md := metadata.New(map[string]string{"Host": "sum.traefik"})
    ctx := metadata.NewOutgoingContext(context.Background(), md)

    service := proto.NewSumClient(con)
    res, err2 := service.GetSum(ctx, &proto.Request{})

    if err2 == nil {
        fmt.Println(res)
    } else {
        log.Fatal("Call error:", err2)
    }

}

, я получил эту ошибку rp c error: code = Unimplemented des c = Not Found: HTTP status code 404; transport: получил неожиданный тип контента "text / plain; charset = utf-8" . Я не могу знать, как эта ошибка происходит, из-за адреса или метаданных grp c (заголовок хоста). Пожалуйста, помогите мне с этой проблемой. Большое спасибо!

...