Documentation
¶
Overview ¶
Package grpc transparently forwards the grpc protocol using a go-micro client.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // The default name of this local service DefaultName = "go.micro.proxy" // The default router DefaultRouter = &Router{} )
Functions ¶
func NewService ¶
func NewService(opts ...micro.Option) micro.Service
NewService returns a new proxy. It acts as a micro service proxy. Any request on the transport is routed to via the client to a service. In the event a backend is specified then it routes to that backend. The name of the backend can be a local address:port or a service name.
Usage:
New micro proxy routes via micro client to any service
proxy := NewService()
OR with address:port routes to local service
service := NewService(
// Sets the default http endpoint
proxy.WithBackend("localhost:10001"),
)
OR with service name routes to a fixed backend service
service := NewService(
// Sets the backend service
proxy.WithBackend("greeter"),
)
func WithBackend ¶
func WithBackend(url string) micro.Option
WithBackend provides an option to set the proxy backend url
func WithRouter ¶
WithRouter provides an option to set the proxy router
Types ¶
type Router ¶
type Router struct {
// Name of the local service. In the event it's to be left alone
Name string
// Backend is a single backend to route to
// If backend is of the form address:port it will call the address.
// Otherwise it will use it as the service name to call.
Backend string
// Endpoint specified the fixed endpoint to call.
// In the event you proxy to a fixed backend this lets you
// call a single endpoint
Endpoint string
// The client to use for outbound requests
Client client.Client
}
Router will transparently proxy requests to the backend. If no backend is specified it will call a service using the client. If the service matches the Name it will use the server.DefaultRouter.
func NewSingleHostRouter ¶
NewSingleHostRouter returns a router which sends requests to a single backend
It is used by setting it in a new micro service to act as a proxy for a backend.
Usage:
Create a new router to the http backend
r := NewSingleHostRouter("localhost:10001")
// Create your new service
service := micro.NewService(
micro.Name("greeter"),
// Set the router
http.WithRouter(r),
)
// Run the service
service.Run()