go-micro 指定consul 作为服务发现时,绑定consul地址出现问题

本文介绍了Go Micro库在V4版本与V3版本之间的差异,特别是服务注册部分的代码变化。在V4版本中,使用`registry.Addrs`设置Consul注册地址。尽管编译期间不会报错,但在运行时,由于尝试在特定公网IP上绑定服务导致`can't assign requested address`的错误。问题可能源于服务器配置或网络设置。
摘要由CSDN通过智能技术生成

我这边go 的版本使用的是17 ,对应的micro版本是V4,因此这里的写法和之前V3版本的有些差异

V4

consulReg:=consul.NewRegistry(registry.Addrs("服务器公网IP:8500"))

	// Create service
	srv := micro.NewService(
		micro.Address(":8701"), // 自定义一个端口
		micro.Name(service),
		micro.Registry(consulReg),
		micro.Version(version),
	)

V3

consulReg:=consul.NewRegistry()

	// Create service
	srv := micro.NewService(
		micro.Address("服务器公网IP:8701"),
		micro.Name(service),
		micro.Registry(consulReg),
		micro.Version(version),
	)

如果V4版本,使用V3 的写法,go build 的时候不会报错,但是当运行的时候会提示

2021-12-25 23:20:58  file=v4@v4.2.1/service.go:206 level=info Starting [service] getcaptcha
2021-12-25 23:20:58  file=getCaptcha/main.go:34 level=fatal listen tcp 服务器公网IP:8701: bind: can't assign requested address

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值