micro

package module
v0.0.0-...-0c438d6 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2025 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Overview

Package micro is a pluggable framework for microservices

Index

Constants

This section is empty.

Variables

View Source
var Action = service.Action
View Source
var AddListenOption = service.AddListenOption
View Source
var Address = service.Address
View Source
var AfterStart = service.AfterStart
View Source
var AfterStop = service.AfterStop
View Source
var Auth = service.Auth
View Source
var BeforeStart = service.BeforeStart
View Source
var BeforeStop = service.BeforeStop
View Source
var Broker = service.Broker
View Source
var Cache = service.Cache
View Source
var Client = service.Client
View Source
var Cmd = service.Cmd
View Source
var Config = service.Config
View Source
var Context = service.Context
View Source
var Flags = service.Flags
View Source
var Handle = service.Handle
View Source
var HandleSignal = service.HandleSignal
View Source
var Logger = service.Logger
View Source
var Metadata = service.Metadata
View Source
var Name = service.Name
View Source
var Profile = service.Profile
View Source
var RegisterInterval = service.RegisterInterval
View Source
var RegisterTTL = service.RegisterTTL
View Source
var Registry = service.Registry
View Source
var Selector = service.Selector
View Source
var Server = service.Server
View Source
var Store = service.Store
View Source
var Tracer = service.Tracer
View Source
var Transport = service.Transport
View Source
var Version = service.Version
View Source
var WrapCall = service.WrapCall
View Source
var WrapClient = service.WrapClient
View Source
var WrapHandler = service.WrapHandler
View Source
var WrapSubscriber = service.WrapSubscriber

Functions

func NewContext

func NewContext(ctx context.Context, s Service) context.Context

NewContext returns a new Context with the Service embedded within it.

func RegisterHandler

func RegisterHandler(s server.Server, h interface{}, opts ...server.HandlerOption) error

RegisterHandler is syntactic sugar for registering a handler.

func RegisterSubscriber

func RegisterSubscriber(topic string, s server.Server, h interface{}, opts ...server.SubscriberOption) error

RegisterSubscriber is syntactic sugar for registering a subscriber.

Types

type Event

type Event interface {
	// Publish publishes a message to the event topic
	Publish(ctx context.Context, msg interface{}, opts ...client.PublishOption) error
}

Event is used to publish messages to a topic.

func NewEvent

func NewEvent(topic string, c client.Client) Event

NewEvent creates a new event publisher.

type Option

type Option = service.Option

type Options

type Options = service.Options

type Publisher

type Publisher = Event

Type alias to satisfy the deprecation.

type Service

type Service interface {
	// The service name
	Name() string
	// Init initializes options
	Init(...Option)
	// Options returns the current options
	Options() Options
	// Register the handler
	Handle(v interface{}) error
	// Client is used to call services
	Client() client.Client
	// Server is for handling requests and events
	Server() server.Server
	// Run the service
	Run() error
	// The service implementation
	String() string
}

Service is an interface that wraps the lower level libraries within go-micro. Its a convenience method for building and initializing services.

func FromContext

func FromContext(ctx context.Context) (Service, bool)

FromContext retrieves a Service from the Context.

func New

func New(name string) Service

New represents the new service

func NewService

func NewService(opts ...Option) Service

NewService creates and returns a new Service based on the packages within.

Source Files

  • event.go
  • micro.go
  • options.go

Directories

Path Synopsis
Package auth provides authentication and authorization capability
Package auth provides authentication and authorization capability
jwt
Package broker is an interface used for asynchronous messaging
Package broker is an interface used for asynchronous messaging
nats
Package nats provides a NATS broker
Package nats provides a NATS broker
rabbitmq
Package rabbitmq provides a RabbitMQ broker
Package rabbitmq provides a RabbitMQ broker
redis
Package redis provides a Redis broker
Package redis provides a Redis broker
Package client is an interface for an RPC client
Package client is an interface for an RPC client
grpc
Package grpc provides a gRPC client
Package grpc provides a gRPC client
http
Package http provides a http client
Package http provides a http client
Package cmd is an interface for parsing the command line
Package cmd is an interface for parsing the command line
Package codec is an interface for encoding messages
Package codec is an interface for encoding messages
bytes
Package bytes provides a bytes codec which does not encode or decode anything
Package bytes provides a bytes codec which does not encode or decode anything
grpc
Package grpc provides a grpc codec
Package grpc provides a grpc codec
json
Package json provides a json codec
Package json provides a json codec
jsonrpc
Package jsonrpc provides a json-rpc 1.0 codec
Package jsonrpc provides a json-rpc 1.0 codec
proto
Package proto provides a proto codec
Package proto provides a proto codec
protorpc
Protorpc provides a net/rpc proto-rpc codec.
Protorpc provides a net/rpc proto-rpc codec.
text
Package text reads any text/* content-type
Package text reads any text/* content-type
Package config is an interface for dynamic configuration.
Package config is an interface for dynamic configuration.
encoder
Package encoder handles source encoding formats
Package encoder handles source encoding formats
loader
Package loader manages loading from multiple sources
Package loader manages loading from multiple sources
reader
Package reader parses change sets and provides config values
Package reader parses change sets and provides config values
secrets
Package secrets is an interface for encrypting and decrypting secrets
Package secrets is an interface for encrypting and decrypting secrets
secrets/box
Package box is an asymmetric implementation of config/secrets using nacl/box
Package box is an asymmetric implementation of config/secrets using nacl/box
secrets/secretbox
Package secretbox is a config/secrets implementation that uses nacl/secretbox to do symmetric encryption / verification
Package secretbox is a config/secrets implementation that uses nacl/secretbox to do symmetric encryption / verification
source
Package source is the interface for sources
Package source is the interface for sources
source/file
Package file is a file source.
Package file is a file source.
source/memory
Package memory is a memory source
Package memory is a memory source
debug
handler
Package handler implements service debug handler embedded in go-micro services
Package handler implements service debug handler embedded in go-micro services
log
Package log provides debug logging
Package log provides debug logging
log/memory
Package memory provides an in memory log buffer
Package memory provides an in memory log buffer
profile
Package profile is for profilers
Package profile is for profilers
profile/http
Package http enables the http profiler
Package http enables the http profiler
profile/pprof
Package pprof provides a pprof profiler
Package pprof provides a pprof profiler
stats
Package stats provides runtime stats
Package stats provides runtime stats
trace
Package trace provides an interface for distributed tracing
Package trace provides an interface for distributed tracing
Package errors provides a way to return detailed information for an RPC request error.
Package errors provides a way to return detailed information for an RPC request error.
Package events is for event streaming and storage
Package events is for event streaming and storage
natsjs
Package natsjs provides a NATS Jetstream implementation of the events.Stream interface.
Package natsjs provides a NATS Jetstream implementation of the events.Stream interface.
Package genai provides a generic interface for generative AI providers.
Package genai provides a generic interface for generative AI providers.
Package log provides a log interface
Package log provides a log interface
Package metadata is a way of defining message headers
Package metadata is a way of defining message headers
Package profileconfig provides grouped plugin profiles for go-micro
Package profileconfig provides grouped plugin profiles for go-micro
Package mdns is a multicast dns registry
Package mdns is a multicast dns registry
cache
Package cache provides a registry cache
Package cache provides a registry cache
etcd
Package etcd provides an etcd service registry
Package etcd provides an etcd service registry
nats
Package nats provides a NATS registry using broadcast queries
Package nats provides a NATS registry using broadcast queries
Package selector is a way to pick a list of service nodes
Package selector is a way to pick a list of service nodes
Package server is an interface for a micro server
Package server is an interface for a micro server
grpc
Package grpc provides a grpc server
Package grpc provides a grpc server
http
Package http implements a go-micro.Server
Package http implements a go-micro.Server
Package store is an interface for distributed data storage.
Package store is an interface for distributed data storage.
nats-js-kv
Package natsjskv is a go-micro store plugin for NATS JetStream Key-Value store.
Package natsjskv is a go-micro store plugin for NATS JetStream Key-Value store.
postgres
Package postgres implements the postgres store
Package postgres implements the postgres store
postgres/pgx
Package pgx implements the postgres store with pgx driver
Package pgx implements the postgres store with pgx driver
Package test implements a testing framwork, and provides default tests.
Package test implements a testing framwork, and provides default tests.
Package transport is an interface for synchronous connection based communication
Package transport is an interface for synchronous connection based communication
grpc
Package grpc provides a grpc transport
Package grpc provides a grpc transport
headers
headers is a package for internal micro global constants
headers is a package for internal micro global constants
nats
Package nats provides a NATS transport
Package nats provides a NATS transport
util
addr
addr provides functions to retrieve local IP addresses from device interfaces.
addr provides functions to retrieve local IP addresses from device interfaces.
backoff
Package backoff provides backoff functionality
Package backoff provides backoff functionality
buf
jitter
Package jitter provides a random jitter
Package jitter provides a random jitter
net
pool
Package pool is a connection pool
Package pool is a connection pool
ring
Package ring provides a simple ring buffer for storing local data
Package ring provides a simple ring buffer for storing local data
socket
Package socket provides a pseudo socket
Package socket provides a pseudo socket
tls
Package web provides web based micro services
Package web provides web based micro services
ratelimiter/example command
Package main shows examples of how to use the rate limiter wrapper
Package main shows examples of how to use the rate limiter wrapper
service
Package wrapper injects a go-micro.Service into the context
Package wrapper injects a go-micro.Service into the context
timeout
Package timeout provides timeout handling for go-micro services
Package timeout provides timeout handling for go-micro services

Jump to

Keyboard shortcuts

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