A Go RPC framework for building microservices, with pluggable service discovery, multiple transports and codecs, and cross-language access over HTTP.
micro/go-micro
A Go framework for distributed systems covering RPC, service discovery, messaging, storage, config, plus agents, tools and workflows.
- Stars
- 23,084
- Forks
- 2,430
- Open issues
- 4
- Last commit
- 9 days ago
What is it?
Go Micro is a Go framework for building distributed systems. It provides the building blocks most microservice setups need: RPC with streaming, message encoding, service discovery, messaging, storage, and configuration. Each component is defined as a Go interface with a default implementation, so the parts can be swapped out.
The framework also includes an agent layer. Agents can use services as tools, keep conversation history, and run through configured models. Workflows coordinate ordered steps with retries and checkpoints, mixing service calls and agent tasks.
A gateway exposes services over HTTP and MCP, so other applications and AI agents can call them. Developers can start with plain Go services and RPC without using any model, or add the agent and gateway pieces as needed.
Key features
- 01RPC with streaming and message encoding
- 02Service discovery and messaging
- 03Storage and configuration components behind Go interfaces
- 04Agents that use services as tools and keep conversation history
- 05Workflows with ordered steps, retries and checkpoints
- 06Gateway exposing services over HTTP and MCP
Use cases
- Building microservices in Go that need RPC and service discovery
- Exposing internal Go services to AI agents through MCP
- Orchestrating multi-step tasks that combine service calls and agent work
Quick start
- 1
Install the framework with Go
go get go-micro.dev/v6@latest - 2
Read the quickstart guide to build and run a service
In collections
Topics
FAQ
- What is go-micro?
- A Go framework for distributed systems covering RPC, service discovery, messaging, storage, config, plus agents, tools and workflows. Go Micro is a Go framework for building distributed systems. It provides the building blocks most microservice setups need: RPC with streaming, message encoding, service discovery, messaging, storage, and configuration. Each component is defined as a Go interface with a default implementation, so the parts can be swapped out.
- Is go-micro free to use? What license does it have?
- go-micro is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is go-micro still maintained?
- Actively maintained. The last commit to go-micro was on Oct 29, 2026.
- What can I use go-micro for?
- Building microservices in Go that need RPC and service discovery Exposing internal Go services to AI agents through MCP Orchestrating multi-step tasks that combine service calls and agent work
- How do I install go-micro?
- Install the framework with Go: go get go-micro.dev/v6@latest Read the quickstart guide to build and run a service
- Where can I get go-micro?
- The source code and installation instructions are on GitHub: https://github.com/micro/go-micro
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Java implementation of Apache Dubbo, an RPC and microservice framework for building service communication, discovery and traffic management.
C++ RPC framework built on Sogou's Workflow engine, supporting SRPC, bRPC, Thrift and tRPC protocols on Linux, macOS and Windows.
A Go web and RPC microservices framework with built-in resilience features and a goctl code generator driven by .api specs.
Spring Cloud integration with Netflix OSS components such as Eureka service discovery for Spring Boot applications.
Kubernetes implementations of Spring Cloud interfaces, letting Spring Cloud apps use Kubernetes for service discovery and configuration.