💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 安装golang consul api包 go get -u github.com/hashicorp/consul/api ## 服务端代码 type Children struct{} // 绑定类方法 实现接口 func (this *Children) SayHello(ctx context.Context, p *pb.Person) (*pb.Person, error) { p.Name = "hello " + p.Name return p, nil } func main() { //初始化配置 cfg := api.DefaultConfig() //创建consul对象 (可以重新指定consule 属性 也可以使用默认) client, err := api.NewClient(cfg) if err != nil { fmt.Println("api.newclient:", err) return } //配置consul的注册服务信息 regServ := api.AgentServiceRegistration{ Tags: []string{"serve"}, Name: "Facid", Port: 8800, Address: "192.168.10.130", Check:&api.AgentServiceCheck{ CheckID:"consul grpc test", TCP:"192.168.10.130:8800", Timeout:"1s", Interval:"5s", }, } //注册grpc服务 client.Agent().ServiceRegister(&regServ) // 初始化对象 gserv := grpc.NewServer() // 注册服务 fmt.Println(gserv) pb.RegisterHelloServer(gserv, new(Children)) // 监听 listener, err := net.Listen("tcp", "192.168.10.130:8800") if err != nil { fmt.Println("Listen err:", err) } defer listener.Close() // 启动服务 gserv.Serve(listener) }