resolver

package module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2023 License: MIT Imports: 6 Imported by: 0

README

GitHub release Go Report Card GoDoc

gRPC Consul resolver

This lib resolves Consul services by name.

Usage

Somewhere in your init code:

import (
    "github.com/nvx/grpc-consul-resolver"
)

// Will query consul every 5 seconds.
resolver.RegisterDefault(time.Second * 5)

Getting connection:

conn, err := grpc.DialContext(ctx, "consul://service/my-awesome-service")

Using a tag

conn, err := grpc.DialContext(ctx, "consul://service/my-awesome-service/http")

Using a prepared query

conn, err := grpc.DialContext(ctx, "consul://query/my-awesome-query")

With round-robin balancer:

import (
    "google.golang.org/grpc/balancer/roundrobin"
)

conn, err := grpc.DialContext(ctx, "consul://service/my-awesome-service", grpc.WithBalancerName(roundrobin.Name))

Documentation

Index

Constants

View Source
const (
	Scheme = "consul"
)

Variables

This section is empty.

Functions

func RegisterDefault

func RegisterDefault(watchInterval time.Duration)

Types

type ConsulResolver

type ConsulResolver struct {
	// contains filtered or unexported fields
}

func (*ConsulResolver) Close

func (r *ConsulResolver) Close()

func (*ConsulResolver) ResolveNow

func (r *ConsulResolver) ResolveNow(resolver.ResolveNowOptions)

type ConsulResolverBuilder

type ConsulResolverBuilder struct {
	WatchInterval      time.Duration
	ConsulClientConfig *api.Config
}

func (*ConsulResolverBuilder) Build

func (*ConsulResolverBuilder) Scheme

func (b *ConsulResolverBuilder) Scheme() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL