From 0541ac776a0613c2f5596b9ef7c1414ace6c0633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Wed, 3 Dec 2025 12:04:20 +0800 Subject: [PATCH] =?UTF-8?q?consul=E5=9C=B0=E5=9D=80=E5=88=86=E9=85=8D?= =?UTF-8?q?=E4=BC=98=E5=85=88=E8=B0=83=E7=94=A8gateway=E5=90=8CIP=E7=9A=84?= =?UTF-8?q?=E5=BE=AE=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- consul/consul.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/consul/consul.go b/consul/consul.go index 8b1c00a..a2a61cf 100644 --- a/consul/consul.go +++ b/consul/consul.go @@ -49,19 +49,18 @@ func GetInstanceAddr(ctx context.Context, name string) (addr string, err error) err = errors.New("获取customerService服务实例失败!") return } - maxService := grand.N(0, len(service)-1) - maxEndpoints := grand.N(0, len(service[maxService].GetEndpoints())-1) //优先使用gateway同IP的服务实例 addr, err = getLocalIP() if err != nil { return } - for _, point := range service[maxService].GetEndpoints() { - if point.Host() == addr { - addr = point.String() + for _, s := range service { + if s.GetEndpoints()[0].Host() == addr { + addr = s.GetEndpoints()[0].String() return } } - addr = service[maxService].GetEndpoints()[maxEndpoints].String() + maxService := grand.N(0, len(service)-1) + addr = service[maxService].GetEndpoints()[0].String() return }