Могу ли я зарегистрировать несколько экземпляров одного и того же сервиса у одного агента? - PullRequest
0 голосов
/ 08 марта 2020

Я экспериментирую с консулом и использую следующий Go API для регистрации службы у агента Консула:

import (
    consul "github.com/hashicorp/consul/api"
)

//...

c, err := consul.NewClient(consul.DefaultConfig())
if err != nil {
    return nil, err
}

serviceDef := &consul.AgentServiceRegistration{
    Name: name,
    Check: &consul.AgentServiceCheck{
        TTL: ttl.String(),
    },
}

if err := c.Agent().ServiceRegister(serviceDef); err != nil {
    return nil, err
}

Теперь, когда я регистрирую пару экземпляров одного и того же услуга (backend для дальнейшего использования) при звонке:

services, _, err := s.ConsulCatalog.Service("backend", "", nil)
if err != nil {
    // ...
    return
}

for _, v := range services {
    log.Infof("service:  %+v", v)
}

Я продолжаю получать только одну "услугу" с одним IP. Нужно ли раскручивать экземпляр агента Consul для каждого экземпляра службы?

...