diff --git a/broker/http_broker.go b/broker/http_broker.go index c2ae4dda..3e9fbc54 100644 --- a/broker/http_broker.go +++ b/broker/http_broker.go @@ -560,11 +560,6 @@ func (h *httpBroker) Publish(topic string, msg *Message, opts ...PublishOption) srv := func(s []*registry.Service, b []byte) { for _, service := range s { - // only process if we have nodes - if len(service.Nodes) == 0 { - continue - } - var nodes []*registry.Node for _, node := range service.Nodes { @@ -581,6 +576,11 @@ func (h *httpBroker) Publish(topic string, msg *Message, opts ...PublishOption) nodes = append(nodes, node) } + // only process if we have nodes + if len(nodes) == 0 { + continue + } + switch service.Version { // broadcast version means broadcast to all nodes case broadcastVersion: