|
|
@ -153,7 +153,7 @@ func checkServiceHealth(address string) bool {
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
const (
|
|
|
|
slashSeparator = "/"
|
|
|
|
slashSeparator = "/"
|
|
|
|
// EndpointSepChar is the separator cha in endpoints.
|
|
|
|
// EndpointSepChar is the separator char in endpoints.
|
|
|
|
EndpointSepChar = ','
|
|
|
|
EndpointSepChar = ','
|
|
|
|
|
|
|
|
|
|
|
|
subsetSize = 32
|
|
|
|
subsetSize = 32
|
|
|
@ -188,12 +188,14 @@ func (n nopResolver) Close() {
|
|
|
|
|
|
|
|
|
|
|
|
func (cm *ConnManager) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (
|
|
|
|
func (cm *ConnManager) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (
|
|
|
|
resolver.Resolver, error) {
|
|
|
|
resolver.Resolver, error) {
|
|
|
|
|
|
|
|
|
|
|
|
endpoints := strings.FieldsFunc(GetEndpoints(target), func(r rune) bool {
|
|
|
|
endpoints := strings.FieldsFunc(GetEndpoints(target), func(r rune) bool {
|
|
|
|
return r == EndpointSepChar
|
|
|
|
return r == EndpointSepChar
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
log.ZDebug(context.Background(), "Build", "endpoints", endpoints)
|
|
|
|
endpoints = subset(endpoints, subsetSize)
|
|
|
|
endpoints = subset(endpoints, subsetSize)
|
|
|
|
addrs := make([]resolver.Address, 0, len(endpoints))
|
|
|
|
addrs := make([]resolver.Address, 0, len(endpoints))
|
|
|
|
|
|
|
|
log.ZDebug(context.Background(), "Build", "addrs", addrs)
|
|
|
|
for _, val := range endpoints {
|
|
|
|
for _, val := range endpoints {
|
|
|
|
addrs = append(addrs, resolver.Address{
|
|
|
|
addrs = append(addrs, resolver.Address{
|
|
|
|
Addr: val,
|
|
|
|
Addr: val,
|
|
|
|