# micro/go-micro

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/micro-go-micro).**

22,709 stars · 2,405 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/micro/go-micro
- Homepage: https://go-micro.dev
- awesome-repositories: https://awesome-repositories.com/repository/micro-go-micro.md

## Topics

`distributed-systems` `go` `golang` `micro` `microservices` `rpc`

## Description

Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers.

The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents to discover and execute functions, manage multi-step workflows, and maintain persistent state. This architecture is supported by a pluggable interface system that allows developers to swap infrastructure components like storage backends or service registries without modifying core application logic.

Beyond its core communication and orchestration capabilities, the framework includes a robust suite of tools for service management, including an HTTP gateway for protocol translation, granular access control, and distributed observability. It also provides a command-line interface for project scaffolding, hot-reloading, and automated code generation, alongside a web-based dashboard for monitoring service health and inspecting endpoint schemas.

## Tags

### Networking & Communication

- [Remote Procedure Call Frameworks](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/remote-procedure-call-frameworks.md) — Facilitates remote execution of functions and inter-process communication across distributed system components. ([source](https://cdn.jsdelivr.net/gh/micro/go-micro@master/README.md))
- [HTTP Gateways](https://awesome-repositories.com/f/networking-communication/http-gateways.md) — Proxies HTTP requests to internal services while enforcing authentication and access control. ([source](https://go-micro.dev/docs/server.html))
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Uses modular chains of pluggable components to intercept and process network requests.
- [Service Meshes](https://awesome-repositories.com/f/networking-communication/service-meshes.md) — Acts as a centralized gateway for routing traffic, enforcing security, and monitoring service health.
- [Message Serialization Protocols](https://awesome-repositories.com/f/networking-communication/message-serialization-protocols.md) — Enables seamless communication between services using various message serialization protocols. ([source](https://go-micro.dev/docs/architecture.html))
- [Protocol Gateways](https://awesome-repositories.com/f/networking-communication/protocol-gateways.md) — Translates incoming HTTP requests into internal service calls for cross-protocol interoperability.
- [Persistent Network Connections](https://awesome-repositories.com/f/networking-communication/persistent-network-connections.md) — Maintains persistent bidirectional communication channels for real-time service interactions. ([source](https://go-micro.dev/blog/3))

### Software Engineering & Architecture

- [Distributed Systems Toolkits](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems-toolkits.md) — Offers a comprehensive suite for scaffolding, deploying, and observing modular distributed services.
- [Event Driven Messaging](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-messaging.md) — Provides a framework for decoupled service communication through asynchronous event publishing and subscription via shared message brokers. ([source](https://go-micro.dev/docs/broker.html))
- [Microservice Architectures](https://awesome-repositories.com/f/software-engineering-architecture/microservice-architectures.md) — Provides a framework for building modular, decoupled microservices with automatic discovery and RPC.
- [Service Discovery Registries](https://awesome-repositories.com/f/software-engineering-architecture/service-discovery-registries.md) — Maintains dynamic registries of service locations and health status in distributed environments. ([source](https://go-micro.dev/docs/architecture.html))
- [Microservice Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/distributed-computing-paradigms/microservice-frameworks.md) — Provides a modular toolkit for building and managing distributed microservices with pluggable transport.
- [Message Brokers](https://awesome-repositories.com/f/software-engineering-architecture/message-brokers.md) — Provides infrastructure for asynchronous communication and event-driven service coordination.
- [Remote Procedure Call Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/application-framework-extensions/remote-procedure-call-abstractions.md) — Provides interfaces and patterns for managing cross-service communication via RPC.
- [Pluggable Backends](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-backends.md) — Allows swapping infrastructure modules like storage or service discovery at runtime.
- [Service Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/service-orchestration.md) — Manages and orchestrates multiple microservices within a distributed system. ([source](https://go-micro.dev/docs/ai-integration.html))

### Artificial Intelligence & ML

- [AI Agent Tool Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-integrations/ai-agent-tool-integrations.md) — Exposes internal service endpoints as standardized tools for discovery and execution by language models.
- [Autonomous Agent Orchestration](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-agent-orchestration.md) — Deploys modular agents with persistent memory to automate complex, multi-step workflows. ([source](https://go-micro.dev/docs/guides/plan-delegate.html))
- [Tool-Binding Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/integration-deployment/agent-frameworks/tool-definitions-and-registration/tool-binding-interfaces.md) — Maps natural language instructions to executable functions and external API calls.
- [Agent Tool Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/integration-deployment/agent-frameworks/tool-use-and-execution/agent-tool-integrations.md) — Connects autonomous agents to external software tools and APIs to extend their functional capabilities. ([source](https://go-micro.dev/docs/guides/agents-and-workflows.html))
- [Model Provider Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/model-integration-serving/ai-model-orchestration/model-provider-integrations.md) — Provides unified interfaces for connecting and configuring multiple language model providers. ([source](https://go-micro.dev/docs/ai-integration.html))
- [Event-Driven AI Workflows](https://awesome-repositories.com/f/artificial-intelligence-ml/event-driven-ai-workflows.md) — Executes asynchronous, event-based logic sequences for artificial intelligence applications. ([source](https://go-micro.dev/docs/ai-integration.html))
- [Agent Memory Persistence](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-memory-persistence.md) — Maintains ordered task lists in persistent storage to guide multi-step agent workflows. ([source](https://go-micro.dev/docs/guides/plan-delegate.html))

### Security & Cryptography

- [Authentication Gateways](https://awesome-repositories.com/f/security-cryptography/authentication-gateways.md) — Maps incoming HTTP requests to internal services while enforcing authentication and access control.
- [Granular Access Controls](https://awesome-repositories.com/f/security-cryptography/granular-access-controls.md) — Enforces fine-grained authorization by requiring specific scopes for endpoint access across distributed service communication paths. ([source](https://go-micro.dev/docs/guides/agents-and-workflows.html))
- [Bearer Token Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/bearer-token-authentication.md) — Validates incoming service requests using bearer tokens and identity certificates to ensure secure inter-service communication. ([source](https://go-micro.dev/docs/guides/mcp-security.html))

### Development Tools & Productivity

- [Event-Driven Workflows](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/workflow-orchestration/event-driven-workflows.md) — Orchestrates automated workflows by subscribing to asynchronous broker events.
- [Development Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/development-automation-tools.md) — Automates project scaffolding and business logic generation from natural language prompts.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Ships an interactive command-line interface for chatting with services and executing prompts. ([source](https://go-micro.dev/blog/8))

### DevOps & Infrastructure

- [Event-Driven Workflow Triggers](https://awesome-repositories.com/f/devops-infrastructure/event-driven-workflow-triggers.md) — Initiates automated processes based on message broker events and signals. ([source](https://go-micro.dev/docs/guides/agents-and-workflows.html))
- [Traffic Management](https://awesome-repositories.com/f/devops-infrastructure/traffic-management.md) — Distributes incoming requests across service instances using client-side load balancing and throttles requests to maintain system capacity. ([source](https://go-micro.dev/docs/architecture.html))
- [Self-Hosted Deployment Tools](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-deployment-tools.md) — Automates compiling, deploying, and configuring services on remote infrastructure. ([source](https://go-micro.dev/docs/deployment.html))

### System Administration & Monitoring

- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/distributed-tracing.md) — Captures diagnostic information and propagates request context across services for distributed observability. ([source](https://go-micro.dev/docs/observability.html))
- [Service Lifecycle Management](https://awesome-repositories.com/f/system-administration-monitoring/service-lifecycle-management.md) — Manages the full service lifecycle including scaffolding, building, and deployment with hot-reloading. ([source](https://go-micro.dev/docs/getting-started.html))

### User Interface & Experience

- [Service Dashboards](https://awesome-repositories.com/f/user-interface-experience/service-dashboards.md) — Provides a web-based dashboard for inspecting service schemas, testing endpoints, and monitoring health. ([source](https://go-micro.dev/docs/guides/micro-run.html))

### Web Development

- [Streaming Implementations](https://awesome-repositories.com/f/web-development/response-streaming-interfaces/streaming-implementations.md) — Delivers generated content incrementally to clients to reduce perceived latency. ([source](https://go-micro.dev/docs/guides/ai-provider-guide.html))
