micro

package module
v5.19.1 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2026 License: Apache-2.0 Imports: 4 Imported by: 29

README

Go Micro Go.Dev reference Go Report Card

Go Micro is a framework for distributed systems development.

📖 Documentation | Sponsored by Anthropic

Overview

Go Micro provides the core requirements for distributed systems development including RPC and Event driven communication. The Go Micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out.

Features

Go Micro abstracts away the details of distributed systems. Here are the main features.

  • Authentication - Auth is built in as a first class citizen. Authentication and authorization enable secure zero trust networking by providing every service an identity and certificates. This additionally includes rule based access control.

  • Dynamic Config - Load and hot reload dynamic config from anywhere. The config interface provides a way to load application level config from any source such as env vars, file, etcd. You can merge the sources and even define fallbacks.

  • Data Storage - A simple data store interface to read, write and delete records. It includes support for many storage backends in the plugins repo. State and persistence becomes a core requirement beyond prototyping and Micro looks to build that into the framework.

  • Data Model - A typed data model layer with CRUD operations, queries, and multiple backends (memory, SQLite, Postgres). Define Go structs with tags and get type-safe Create/Read/Update/Delete/List/Count operations. Accessible via service.Model() alongside service.Client() and service.Server() for a complete service experience: call services, handle requests, save and query data.

  • Service Discovery - Automatic service registration and name resolution. Service discovery is at the core of micro service development. When service A needs to speak to service B it needs the location of that service. The default discovery mechanism is multicast DNS (mdns), a zeroconf system.

  • Load Balancing - Client side load balancing built on service discovery. Once we have the addresses of any number of instances of a service we now need a way to decide which node to route to. We use random hashed load balancing to provide even distribution across the services and retry a different node if there's a problem.

  • Message Encoding - Dynamic message encoding based on content-type. The client and server will use codecs along with content-type to seamlessly encode and decode Go types for you. Any variety of messages could be encoded and sent from different clients. The client and server handle this by default. This includes protobuf and json by default.

  • RPC Client/Server - RPC based request/response with support for bidirectional streaming. We provide an abstraction for synchronous communication. A request made to a service will be automatically resolved, load balanced, dialled and streamed.

  • Async Messaging - PubSub is built in as a first class citizen for asynchronous communication and event driven architectures. Event notifications are a core pattern in micro service development. The default messaging system is a HTTP event message broker.

  • MCP Integration - An MCP gateway you can integrate as a library, server or CLI command which automatically exposes services as tools for agents or other AI applications. Every service/endpoint get's converted into a callable tool.

  • Multi-Service Binaries - Run multiple services in a single process with isolated state per service. Start as a modular monolith, split into separate deployments when you need independent scaling. Each service gets its own server, client, and store while sharing the registry and broker for inter-service communication.

  • Pluggable Interfaces - Go Micro makes use of Go interfaces for each distributed system abstraction. Because of this these interfaces are pluggable and allows Go Micro to be runtime agnostic. You can plugin any underlying technology.

Getting Started

To make use of Go Micro

go get go-micro.dev/v5@v5.16.0

Create a service and register a handler

package main

import (
        "go-micro.dev/v5"
)

type Request struct {
        Name string `json:"name"`
}

type Response struct {
        Message string `json:"message"`
}

type Say struct{}

func (h *Say) Hello(ctx context.Context, req *Request, rsp *Response) error {
        rsp.Message = "Hello " + req.Name
        return nil
}

func main() {
        // create the service
        service := micro.New("helloworld")

        // register handler
        service.Handle(new(Say))

        // run the service
        service.Run()
}

Set a fixed address

service := micro.New("helloworld", micro.Address(":8080"))

Call it via curl

curl -XPOST \
     -H 'Content-Type: application/json' \
     -H 'Micro-Endpoint: Say.Hello' \
     -d '{"name": "alice"}' \
      http://localhost:8080

MCP & AI Agents

Go Micro is designed for an agent-first workflow. Every service you build automatically becomes a tool that AI agents can discover and use via the Model Context Protocol (MCP).

Services as Tools

Write a normal Go Micro service and it's instantly available as an MCP tool:

// SayHello greets a person by name.
// @example {"name": "Alice"}
func (g *GreeterService) SayHello(ctx context.Context, req *HelloRequest, rsp *HelloResponse) error {
    rsp.Message = "Hello " + req.Name
    return nil
}

Run with micro run and the agent playground and MCP tools registry are ready:

micro run
# Agent Playground:  http://localhost:8080/agent
# MCP Tools:         http://localhost:8080/api/mcp/tools

Use micro mcp serve for local AI tools like Claude Code, or connect any MCP-compatible agent to the HTTP endpoint.

See the MCP guide for authentication, scopes, and advanced usage.

Multi-Service Binaries

Run multiple services in a single binary — start as a modular monolith, split into separate deployments later when you actually need to.

users := micro.New("users", micro.Address(":9001"))
orders := micro.New("orders", micro.Address(":9002"))

users.Handle(new(Users))
orders.Handle(new(Orders))

// Run all services together with shared lifecycle
g := micro.NewGroup(users, orders)
g.Run()

Each service gets its own server, client, store, and cache while sharing the registry, broker, and transport — so they can discover and call each other within the same process.

See the multi-service example for a working demo.

Data Model

Go Micro includes a typed data model layer for persistence. Define a struct, tag a key field, and get type-safe CRUD and query operations backed by memory, SQLite, or Postgres.

import (
        "go-micro.dev/v5/model"
        "go-micro.dev/v5/model/sqlite"
)

// Define your data type
type User struct {
        ID    string `json:"id" model:"key"`
        Name  string `json:"name"`
        Email string `json:"email" model:"index"`
        Age   int    `json:"age"`
}

Register your types and use the model:

service := micro.New("users")

// Register and use the service's model backend
db := service.Model()
db.Register(&User{})

// CRUD operations
db.Create(ctx, &User{ID: "1", Name: "Alice", Email: "alice@example.com", Age: 30})

user := &User{}
db.Read(ctx, "1", user)

user.Name = "Alice Smith"
db.Update(ctx, user)

db.Delete(ctx, "1", &User{})

Query with filters, ordering, and pagination:

var results []*User

// Find users by field
db.List(ctx, &results, model.Where("email", "alice@example.com"))

// Complex queries
db.List(ctx, &results,
        model.WhereOp("age", ">=", 18),
        model.OrderDesc("name"),
        model.Limit(10),
        model.Offset(20),
)

count, _ := users.Count(ctx, model.Where("age", 30))

Swap backends with an option:

// Development: in-memory (default)
service := micro.New("users")

// Production: SQLite or Postgres
db, _ := sqlite.New(model.WithDSN("file:app.db"))
service := micro.New("users", micro.Model(db))

Every service gets Client(), Server(), and Model() — call services, handle requests, and save data all from the same interface.

Examples

Check out /examples for runnable code:

See all examples for more.

Protobuf

Install the code generator and see usage in the docs:

go install go-micro.dev/v5/cmd/protoc-gen-micro@v5.16.0

Note: Use a specific version instead of @latest to avoid module path conflicts. See releases for the latest version.

Docs: internal/website/docs/getting-started.md

Command Line

Install the CLI:

go install go-micro.dev/v5/cmd/micro@v5.16.0

Note: Use a specific version instead of @latest to avoid module path conflicts. See releases for the latest version.

Quick Start
micro new helloworld   # Create a new service
cd helloworld
micro run              # Run with API gateway and hot reload

Then open http://localhost:8080 to see your service and call it from the browser.

Development Workflow
Stage Command Purpose
Develop micro run Local dev with hot reload and API gateway
Build micro build Compile production binaries
Deploy micro deploy Push to a remote Linux server via SSH + systemd
Dashboard micro server Optional production web UI with JWT auth
micro run

micro run starts your services with:

  • Web Dashboard - Browse and call services at /
  • Agent Playground - AI chat with MCP tools at /agent
  • API Explorer - Browse endpoints and schemas at /api
  • API Gateway - HTTP to RPC proxy at /api/{service}/{method} (no auth in dev mode)
  • MCP Tools - Services as AI tools at /api/mcp/tools
  • Health Checks - Aggregated health at /health
  • Hot Reload - Auto-rebuild on file changes

Note: micro run and micro server use a unified gateway architecture. See Gateway Architecture for details.

micro run                    # Gateway on :8080
micro run --address :3000    # Custom gateway port
micro run --no-gateway       # Services only
micro run --env production   # Use production environment
Configuration

For multi-service projects, create a micro.mu file:

service users
    path ./users
    port 8081

service posts
    path ./posts
    port 8082
    depends users

env development
    DATABASE_URL sqlite://./dev.db

The gateway runs on :8080 by default, so services should use other ports.

Deployment

Deploy to any Linux server with systemd:

# On your server (one-time setup)
curl -fsSL https://go-micro.dev/install.sh | sh
sudo micro init --server

# From your laptop
micro deploy user@your-server

The deploy command:

  1. Builds binaries for Linux
  2. Copies via SSH to the server
  3. Sets up systemd services
  4. Verifies services are healthy

Optionally run micro server on the deployed machine for a production web dashboard with JWT auth, user management, and API explorer.

Manage deployed services:

micro status --remote user@server    # Check status
micro logs --remote user@server      # View logs
micro logs myservice --remote user@server -f  # Follow specific service

No Docker required. No Kubernetes. Just systemd.

See internal/website/docs/deployment.md for full deployment guide.

See cmd/micro/README.md for full CLI documentation.

Docs: internal/website/docs

Package reference: https://pkg.go.dev/go-micro.dev/v5

User Guides:

Architecture & Performance:

Security:

Adopters

  • Sourse - Work in the field of earth observation, including embedded Kubernetes running onboard aircraft, and we’ve built a mission management SaaS platform using Go Micro.

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 Model = service.Model
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 Group added in v5.17.0

type Group = service.Group

Group is a set of services that share lifecycle management.

func NewGroup added in v5.17.0

func NewGroup(svcs ...Service) *Group

NewGroup creates a service group for running multiple services in a single binary with shared lifecycle management.

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 = service.Service

Service is the interface for a go-micro service.

func FromContext

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

FromContext retrieves a Service from the Context.

func New added in v5.4.2

func New(name string, opts ...Option) Service

New creates a new service with the given name and options.

service := micro.New("greeter")
service := micro.New("greeter", micro.Address(":8080"))

func NewService

func NewService(opts ...Option) Service

NewService creates and returns a new Service based on the packages within. Deprecated: Use New(name, opts...) instead.

Directories

Path Synopsis
Debug module
trace module
ai
Package ai provides abstraction for AI model providers
Package ai provides abstraction for AI model providers
anthropic
Package anthropic implements the Anthropic Claude model provider
Package anthropic implements the Anthropic Claude model provider
openai
Package openai implements the OpenAI model provider
Package openai implements the OpenAI model provider
api module
gateway module
genproto module
handler module
handler/http module
handler/rpc module
handler/web module
internal module
plugins module
proto module
registry module
registry/etcd module
resolver module
router module
router/util module
server module
server/acme module
server/cors module
server/http module
Package auth provides authentication and authorization capability
Package auth provides authentication and authorization capability
jwt
noop
Package noop provides a no-op auth implementation for testing and development.
Package noop provides a no-op auth implementation for testing and development.
api module
basic module
rules module
token module
token/basic module
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
codec module
codec/noop module
http module
http/codec module
kafka module
memory module
nsq module
rabbit module
redis module
memory module
registry module
cli module
clien module
client module
grpc
Package grpc provides a gRPC client
Package grpc provides a gRPC client
cli module
cli/metadata module
cmd module
consul module
debug module
debug/log module
grpc/server module
http module
plugins module
registry module
retry module
selector module
server module
server/grpc module
trace module
clientent module
cmd module
micro command
micro-mcp-gateway command
Command micro-mcp-gateway runs a standalone MCP gateway that discovers go-micro services via a registry and exposes them as AI-accessible tools through the Model Context Protocol.
Command micro-mcp-gateway runs a standalone MCP gateway that discovers go-micro services via a registry and exposes them as AI-accessible tools through the Model Context Protocol.
micro/cli/build
Package build provides the micro build command for building service binaries
Package build provides the micro build command for building service binaries
micro/cli/deploy
Package deploy provides the micro deploy command for deploying services
Package deploy provides the micro deploy command for deploying services
micro/cli/gen
Package generate provides code generation commands for micro
Package generate provides code generation commands for micro
micro/cli/init
Package initcmd provides the micro init command for server setup
Package initcmd provides the micro init command for server setup
micro/cli/new
Package new generates micro service templates
Package new generates micro service templates
micro/cli/remote
Package remote provides remote server operations for micro
Package remote provides remote server operations for micro
micro/cli/util
Package cliutil contains methods used across all cli commands @todo: get rid of os.Exits and use errors instread
Package cliutil contains methods used across all cli commands @todo: get rid of os.Exits and use errors instread
micro/mcp
Package mcp provides the 'micro mcp' command for MCP server management
Package mcp provides the 'micro mcp' command for MCP server management
micro/run/config
Package config handles micro.mu and micro.json configuration parsing
Package config handles micro.mu and micro.json configuration parsing
micro/run/watcher
Package watcher provides file watching for hot reload
Package watcher provides file watching for hot reload
protoc-gen-micro command
protoc-gen-micro is a plugin for the Google protocol buffer compiler to generate Go code.
protoc-gen-micro is a plugin for the Google protocol buffer compiler to generate Go code.
protoc-gen-micro/generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
go-micro module
micro-cli module
micro-cli/new module
micro-run module
microv module
registry module
server module
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
bytes/cmd module
bytes/codec module
bytes/errors module
client module
client/mock module
client/rpc module
cmd module
codec/bytes module
codec/json module
codec/jsonrpc module
codec/proto module
errors module
grpc/server module
json/cmd module
json/codec module
json/errors module
json/metadata module
json/registry module
json/selector module
json/server module
jsonrpc/cmd module
jsonrpc/codec module
metadata module
proto/codec module
proto/errors module
registry module
registry/mdns module
selector module
selector/dns module
server/debug module
server/mock module
server/rpc module
transport module
codecs module
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
cmd module
consul module
encoder/hcl module
encoder/toml module
encoder/xml module
encoder/yaml module
file module
json module
logger module
source/consul module
source/etcd module
source/grpc module
source/server module
source/yaml module
source module
source/cli module
source/file module
source/http module
consul module
selector module
container module
client module
registry module
context module
metadata module
debug module
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
registry module
registry/noop module
discovery module
encoding module
error module
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.
event module
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.
store module
examples module
agent-demo command
Agent Demo — A multi-service project management app
Agent Demo — A multi-service project management app
auth/client command
auth/server command
mcp/crud command
CRUD example: a contact book service with full MCP integration.
CRUD example: a contact book service with full MCP integration.
mcp/documented command
Package main demonstrates how to document your service handlers for better AI agent integration using endpoint metadata.
Package main demonstrates how to document your service handlers for better AI agent integration using endpoint metadata.
mcp/hello command
Package main demonstrates a minimal MCP-enabled service.
Package main demonstrates a minimal MCP-enabled service.
mcp/platform command
Platform example: AI agents interacting with a real microservices platform.
Platform example: AI agents interacting with a real microservices platform.
mcp/workflow command
Workflow example: cross-service orchestration via AI agents.
Workflow example: cross-service orchestration via AI agents.
multi-service command
Multi-service example: run multiple services in a single binary.
Multi-service example: run multiple services in a single binary.
mcp module
gateway module
api
Package api provides HTTP API gateway functionality for go-micro services.
Package api provides HTTP API gateway functionality for go-micro services.
mcp
Package mcp provides Model Context Protocol (MCP) gateway functionality for go-micro services.
Package mcp provides Model Context Protocol (MCP) gateway functionality for go-micro services.
genai module
gemini module
openai module
generator module
cmd module
go-log module
go-micro module
client module
genai module
server module
server/debug module
go-plugins module
registry module
grpc module
proxy module
handler module
Package health provides health check functionality for microservices.
Package health provides health check functionality for microservices.
broker module
http module
internal module
test
Package test implements a testing framwork, and provides default tests.
Package test implements a testing framwork, and provides default tests.
util/addr
addr provides functions to retrieve local IP addresses from device interfaces.
addr provides functions to retrieve local IP addresses from device interfaces.
util/backoff
Package backoff provides backoff functionality
Package backoff provides backoff functionality
util/jitter
Package jitter provides a random jitter
Package jitter provides a random jitter
util/pool
Package pool is a connection pool
Package pool is a connection pool
util/ring
Package ring provides a simple ring buffer for storing local data
Package ring provides a simple ring buffer for storing local data
util/socket
Package socket provides a pseudo socket
Package socket provides a pseudo socket
util/tls
Package tls provides TLS utilities for go-micro.
Package tls provides TLS utilities for go-micro.
util module
log module
Package log provides a log interface
Package log provides a log interface
broker module
broker/http module
broker/memory module
client/mock module
client/rpc module
cmd module
codec module
codec/bytes module
codec/grpc module
codec/json module
codec/jsonrpc module
codec/proto module
debug module
debug/log module
errors module
logrus module
logrus/codec module
logrus/errors module
metadata module
registry/mdns module
selector module
selector/dns module
server/debug module
slog module
zap module
zerolog module
logging module
logs module
mdns module
memory module
metadata module
client module
debug module
debug/log module
registry module
util module
util/log module
metrics module
micro module
cmd module
cmd/micro module
cmd/micro/cli module
errors module
server module
middleware module
Package model is an interface for structured data storage with schema awareness.
Package model is an interface for structured data storage with schema awareness.
memory
Package memory provides an in-memory model.Model implementation.
Package memory provides an in-memory model.Model implementation.
postgres
Package postgres provides a PostgreSQL model.Model implementation.
Package postgres provides a PostgreSQL model.Model implementation.
sqlite
Package sqlite provides a SQLite model.Model implementation.
Package sqlite provides a SQLite model.Model implementation.
nats module
network module
transport module
new module
transport module
newrelic module
options module
plugin module
client module
registry module
selector module
plugins module
broker module
broker/kafka module
broker/nats module
client module
client/client module
client/grpc module
codec module
codec/json module
codec/proto module
consul module
kafka module
registry module
registry/etcd module
registry/mdns module
registry/nats module
registry/zk module
server module
server/grpc module
server/http module
store module
store/consul module
transport module
v5/debug module
v5/registry module
v5/server module
v5/wrapper module
wrapper module
wrapper/trace module
profile module
proto module
alert module
api module
transport module
protoc module
cmd module
proxy module
grpc module
grpc2 module
qson module
register module
registry module
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
consul/consul module
consul/server module
consul1 module
etcd/registry module
etcdv3 module
eureka module
kubernetes module
mdns module
mdns/registry module
memory module
nacos module
registry/etcd module
service module
transport module
zk module
router module
registry module
runtime module
local module
local/build module
local/git module
local/process module
local/source module
scheduler module
Package selector is a way to pick a list of service nodes
Package selector is a way to pick a list of service nodes
cache module
dns module
filter module
random module
registry module
roundrobin module
simple module
static module
serve module
server module
grpc
Package grpc provides a grpc server
Package grpc provides a grpc server
client module
client/grpc module
cmd module
debug module
debug/proto module
grpc/internal module
grpc/proto module
grpc/server module
grpcserver module
handler module
http module
logger module
registry module
registry/mdns module
server/grpc module
web module
profile
Package profileconfig provides grouped plugin profiles for go-micro
Package profileconfig provides grouped plugin profiles for go-micro
api module
api/handler module
api/router module
auth module
broker module
cache module
client module
client/grpc module
config module
context module
debug module
debug/handler module
errors module
events module
grpc module
logger module
metadata module
micro module
network module
proxy module
registry module
router module
server module
server/grpc module
server/mucp module
store module
store/memory module
tenant module
uauth module
web module
services module
errors module
logger module
pkg module
pkg/tenant module
store module
source module
file module
flag module
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
consul module
file module
memory module
options module
pg module
redis module
sync module
registry module
test module
tools module
cmd module
trace module
tracer module
client module
opentracing module
tracing module
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
config module
grpc/client module
http module
memory module
rabbitmq module
redis module
redis/broker module
tcp module
types module
component module
uauth module
util module
addr module
backoff module
buf module
cmd module
cmd/registry module
codec module
codec/broker module
codec/bytes module
codec/jsonrpc module
config module
container module
ctx module
file module
file/proto module
grpc module
http module
jitter module
kubernetes module
log module
matcher module
mdns module
mdns/server module
namespace module
net module
net/broker module
net/client module
net/cmd module
net/codec module
net/errors module
net/metadata module
net/registry module
net/selector module
net/transport module
opentelemetry module
pool module
qson module
registry module
ring module
router module
runtime module
selector module
signal module
slice module
slicemap module
socket module
test module
tls module
wrapper module
utils module
mdns module
v5
cmd module
cmd/go-micro module
web
Package web provides a web service for go-micro
Package web provides a web service for go-micro
transport module
wraper module
server module
trace module
wrapper module
monitoring module
select module
trace module

Jump to

Keyboard shortcuts

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