New grpclb implementation (#1558)
The new grpclb supports fallback to backends if remote balancer is unavailable
This commit is contained in:
@ -61,12 +61,18 @@ func parseTarget(target string) (ret resolver.Target) {
|
||||
// newCCResolverWrapper parses cc.target for scheme and gets the resolver
|
||||
// builder for this scheme. It then builds the resolver and starts the
|
||||
// monitoring goroutine for it.
|
||||
//
|
||||
// If withResolverBuilder dial option is set, the specified resolver will be
|
||||
// used instead.
|
||||
func newCCResolverWrapper(cc *ClientConn) (*ccResolverWrapper, error) {
|
||||
grpclog.Infof("dialing to target with scheme: %q", cc.parsedTarget.Scheme)
|
||||
|
||||
rb := resolver.Get(cc.parsedTarget.Scheme)
|
||||
rb := cc.dopts.resolverBuilder
|
||||
if rb == nil {
|
||||
return nil, fmt.Errorf("could not get resolver for scheme: %q", cc.parsedTarget.Scheme)
|
||||
rb = resolver.Get(cc.parsedTarget.Scheme)
|
||||
if rb == nil {
|
||||
return nil, fmt.Errorf("could not get resolver for scheme: %q", cc.parsedTarget.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
ccr := &ccResolverWrapper{
|
||||
|
Reference in New Issue
Block a user