private NameResolver of(final String targetAuthority, int defaultPort) {
        requireNonNull(targetAuthority, "targetAuthority");
        // Determine target ips
        final String[] hosts = PATTERN_COMMA.split(targetAuthority);
        final List<EquivalentAddressGroup> targets = new ArrayList<>(hosts.length);
        for (final String host : hosts) {
            final URI uri = URI.create("//" + host);
            int port = uri.getPort();
            if (port == -1) {
                port = defaultPort;
            }
            targets.add(new EquivalentAddressGroup(new InetSocketAddress(uri.getHost(), port)));
        }
        if (targets.isEmpty()) {
            throw new IllegalArgumentException("Must have at least one target, but was: " + targetAuthority);
        }
        return new StaticNameResolver(targetAuthority, targets);
    }
Creates a new {@link NameResolver} for the given authority and attributes.

@param targetAuthority The authority to connect to.
@param defaultPort The default port to use, if none is specified.
@return The newly created name resolver for the given target.
grpc-client-spring-boot-starter/src/main/java/net/devh/boot/grpc/client/nameresolver/StaticNameResolverProvider.java