win下 consul注册不进去。名字叫user-srv win防火墙关了 哪的错误
package main
import (
"flag"
"fmt"
uuid "github.com/satori/go.uuid"
"google.golang.org/grpc/health"
"google.golang.org/grpc/health/grpc_health_v1"
"net"
"go.uber.org/zap"
"google.golang.org/grpc"
"mxshop_srvs/user_srv/global"
//"mxshop_srvs/user_srv/global"
"mxshop_srvs/user_srv/handler"
"mxshop_srvs/user_srv/initialize"
"mxshop_srvs/user_srv/proto"
//"mxshop_srvs/user_srv/utils"
"github.com/hashicorp/consul/api"
)
func main() {
IP := flag.String("ip", "0.0.0.0", "ip地址")
Port := flag.Int("port", 50763, "端口号")
//初始化
initialize.InitLogger()
initialize.InitConfig()
initialize.InitDB()
zap.S().Info(global.ServerConfig)
flag.Parse() //把用户传递的命令行参数解析为对应变量的值
//fmt.Println("ip:", *IP)
//fmt.Println("prot:", *Port)
//输出值是什么 源码返回*string的指针,所以打印时候 *IP
zap.S().Info("ip: ", *IP)
//if *Port == 0 {
// *Port, _ = utils.GetFreePort()
//}
zap.S().Info("port: ", *Port)
server := grpc.NewServer()
proto.RegisterUserServer(server, &handler.UserServer{})
lis, err := net.Listen("tcp", fmt.Sprintf("%s:%d", *IP, *Port))
if err != nil {
panic("failed to listen:" + err.Error())
}
err = server.Serve(lis)
if err != nil {
panic("failed to start grpc:" + err.Error())
}
//注册服务健康检查
grpc_health_v1.RegisterHealthServer(server, health.NewServer())
//服务注册
cfg := api.DefaultConfig()
cfg.Address = fmt.Sprintf("%s:%d", global.ServerConfig.ConsulInfo.Host,
global.ServerConfig.ConsulInfo.Port)
client, err := api.NewClient(cfg)
if err != nil {
panic(err)
}
//注册有坑呀,因为默认监听端口0.0.0.0,注册,服务发现就拿着0.0.0.0去访问
//服务注册不从默认里面拿,从配置文件里面取
//生成对应的检查对象
check := &api.AgentServiceCheck{
GRPC: fmt.Sprintf("192.168.179.128:50763"),
Timeout: "5s",
Interval: "5s",
DeregisterCriticalServiceAfter: "15s",
}
//生成注册对象
registration := new(api.AgentServiceRegistration)
registration.Name = global.ServerConfig.Name
serviceID := fmt.Sprintf("%s", uuid.NewV4())
registration.ID = serviceID
registration.Port = *Port
registration.Tags = []string{"imooc", "bobby", "user", "srv"}
registration.Address = "192.168.179.128"
registration.Check = check
//1. 如何启动两个服务
//2. 即使我能够通过终端启动两个服务,但是注册到consul中的时候也会被覆盖
err = client.Agent().ServiceRegister(registration)
zap.S().Info(err)
if err != nil {
panic(err)
}
err = server.Serve(lis)
if err != nil {
panic("failed to start grpc:" + err.Error())
}
//BIND9.17.2.x64.zip
}
相关截图:


BIND9.17.2.x64.zip 给我个地址 课上的地址没有连接
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星