go-micro 客户端访问服务端 报错 500 访问不到

jwcode · 2021-02-19 14:15:04 · 2914 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-02-19 14:15:04 的主题,其中的信息可能已经有所发展或是发生改变。

报错 {"id":"go.micro.client","code":500,"detail":"service hello.service: not found","status":"Internal Server Error"}

是这样最近在学习微服务 看了好多课程踩了好多的坑 版本兼容性搞完了结果还是出现了问题

希望哪位路过的大佬帮忙瞅瞅 看一下啥问题了

服务端(可以启动)

package main

import (
    pb "GoTest/newmicro/proto"
    "context"
    "fmt"
    "github.com/micro/go-micro"
)

type Cap struct {
}

func (c *Cap) SayHello(ctx context.Context, Requ *pb.SayRequest, Resp *pb.SayResponse) error {

    Resp.Msg = "太阳当空照" + Requ.Message

    return nil
}

func main() {

    service := micro.NewService(
        micro.Name("hello.service"),
    )
    service.Init()

    //注册服务
    pb.RegisterCapHandler(service.Server(), new(Cap))

    if err := service.Run(); err != nil {
        fmt.Println()
    }
}

客户端(报错500)

package main

import (
    pb "GoTest/newmicro/proto"
    "context"
    "fmt"
    "github.com/micro/go-micro"
    "github.com/micro/go-micro/registry"
    "github.com/micro/go-micro/registry/mdns"
)

func main() {
    reg := mdns.NewRegistry(func(op *registry.Options) {
        op.Addrs = []string{
            "127.0.0.1:8500",
        }
    })

    service := micro.NewService(
        micro.Name("hello.client"),
    )
    service.Init(micro.Registry(reg))

    capPb := pb.NewCapService("hello.service", service.Client())

    res, err := capPb.SayHello(context.TODO(), &pb.SayRequest{Message: "哈哈哈哈哈哈"})
    if err != nil {
        fmt.Println("报错", err)
        return
    }
    fmt.Println(res.Msg)

}

go mod

module GoTest/newmicro

go 1.14

require (
    github.com/golang/protobuf v1.4.3
    github.com/micro/go-micro v1.18.0
    github.com/micro/go-micro/v2 v2.9.1
    google.golang.org/protobuf v1.25.0
)

replace google.golang.org/grpc => google.golang.org/grpc v1.26.0

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2914 次点击  
加入收藏 微博
4 回复  |  直到 2021-06-16 19:02:02
ken198910
ken198910 · #1 · 4年之前

报错信息都没有,怎么看哦!

jiuker
jiuker · #2 · 4年之前

服务端 注册到哪里了? 客户端 去哪里取注册信息? 不对等撒

jwcode
jwcode · #3 · 4年之前

已经放弃了 改用 go-zero 了

harman
harman · #4 · 4年之前

客户端用了mdns,服务端可能没用到,两边统一一下注册中心就可以了

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传