RPC-фреймворк на Go для микросервисов с подключаемым обнаружением сервисов, разными транспортами и кодеками, а также доступом из других языков через HTTP.
micro/go-micro
Фреймворк на Go для распределённых систем: RPC, обнаружение сервисов, обмен сообщениями, хранилище, конфигурация, агенты, инструменты и рабочие процессы.
- Звёзды
- 23,084
- Форки
- 2,430
- Открытые issues
- 2
- Последний коммит
- 7 дней назад
Что это?
Go Micro — это фреймворк на Go для создания распределённых систем. Он предоставляет базовые компоненты, необходимые большинству микросервисных архитектур: RPC с потоковой передачей данных, кодирование сообщений, обнаружение сервисов, обмен сообщениями, хранилище и конфигурацию. Каждый компонент определён как Go-интерфейс с реализацией по умолчанию, поэтому их можно заменять.
В состав фреймворка также входит слой агентов. Агенты могут использовать сервисы как инструменты, сохранять историю диалога и работать с настроенными моделями. Рабочие процессы координируют упорядоченные шаги с повторами и контрольными точками, сочетая вызовы сервисов и задачи агентов.
Шлюз предоставляет доступ к сервисам по HTTP и MCP, позволяя вызывать их из других приложений и AI-агентов. Разработчики могут начать с обычных сервисов на Go и RPC без использования моделей или при необходимости добавить компоненты для агентов и шлюза.
Ключевые возможности
- 01RPC с потоковой передачей данных и кодированием сообщений
- 02Обнаружение сервисов и обмен сообщениями
- 03Компоненты хранилища и конфигурации, реализованные через Go-интерфейсы
- 04Агенты, которые используют сервисы как инструменты и сохраняют историю диалога
- 05Рабочие процессы с упорядоченными шагами, повторами и контрольными точками
- 06Шлюз, предоставляющий доступ к сервисам по HTTP и MCP
Сценарии использования
- Создание микросервисов на Go, которым нужны RPC и обнаружение сервисов
- Предоставление AI-агентам доступа к внутренним сервисам на Go через MCP
- Оркестрация многоэтапных задач, сочетающих вызовы сервисов и работу агентов
Быстрый старт
- 1
Установите фреймворк с помощью Go
go get go-micro.dev/v6@latest - 2
Прочитайте краткое руководство, чтобы собрать и запустить сервис
В подборках
Темы
Частые вопросы
- Что такое go-micro?
- Фреймворк на Go для распределённых систем: RPC, обнаружение сервисов, обмен сообщениями, хранилище, конфигурация, агенты, инструменты и рабочие процессы. Go Micro — это фреймворк на Go для создания распределённых систем. Он предоставляет базовые компоненты, необходимые большинству микросервисных архитектур: RPC с потоковой передачей данных, кодирование сообщений, обнаружение сервисов, обмен сообщениями, хранилище и конфигурацию. Каждый компонент определён как Go-интерфейс с реализацией по умолчанию, поэтому их можно заменять.
- go-micro можно использовать бесплатно? Какая у него лицензия?
- go-micro распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- go-micro всё ещё поддерживается?
- Активно поддерживается. Последний коммит в go-micro — 29 окт. 2026 г..
- Для чего можно использовать go-micro?
- Создание микросервисов на Go, которым нужны RPC и обнаружение сервисов Предоставление AI-агентам доступа к внутренним сервисам на Go через MCP Оркестрация многоэтапных задач, сочетающих вызовы сервисов и работу агентов
- Как установить go-micro?
- Установите фреймворк с помощью Go: go get go-micro.dev/v6@latest Прочитайте краткое руководство, чтобы собрать и запустить сервис
- Где скачать go-micro?
- Исходный код и инструкции по установке — на GitHub: https://github.com/micro/go-micro
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Java-реализация Apache Dubbo — RPC- и микросервисного фреймворка для связи между сервисами, обнаружения сервисов и управления трафиком.
C++-фреймворк для RPC на базе Workflow от Sogou с поддержкой протоколов SRPC, bRPC, Thrift и tRPC в Linux, macOS и Windows.
Фреймворк на Go для веб-сервисов и RPC-микросервисов со встроенными механизмами отказоустойчивости и генератором кода goctl на основе спецификаций .api.
Интеграция Spring Cloud с компонентами Netflix OSS, например с Eureka для обнаружения сервисов в приложениях Spring Boot.
Реализации интерфейсов Spring Cloud для Kubernetes: Spring Cloud-приложения могут использовать Kubernetes для обнаружения сервисов и конфигурации.