1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pancoJ-go-garden

Клонировать/Скачать
readme.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 10:23 96366c8

Go Garden

Go-garden — это распределённый сервисный фреймворк для разработки распределённых систем.

Адрес на GitHub: https://github.com/panco95/go-garden

Адрес в Code Cloud: https://gitee.com/pancoJ/go-garden

Концепция

  • Go-Garden удовлетворяет основные потребности разработчиков распределённых систем, включая поддержку некоторых базовых архитектур микросервисов, что позволяет разработчикам сосредоточиться на бизнес-логике вместо низкоуровневой разработки;
  • поддерживает протоколы HTTP и RPC, HTTP использует gin, а RPC — rpcx;
  • для RPC не требуется определять файлы Proto, достаточно определить структуру;
  • предоставляет инструменты для быстрого создания проектов.

Особенности

  • Регистрация и обнаружение сервисов.
  • Маршрутизация и распределение нагрузки через шлюз.
  • Поддержка протоколов RPC и HTTP.
  • Возможность настройки ограничения скорости для сервисов.
  • Возможность настройки автоматического отключения сервисов при перегрузке.
  • Возможность настройки повторных попыток вызова сервисов после сбоя.
  • Контроль времени ожидания ответа от сервисов.
  • Динамическая настройка маршрутов.
  • Автоматическая синхронизация между кластерами.
  • Безопасная аутентификация вызовов.
  • Распределённая трассировка вызовов.
  • Мониторинг и оповещение о состоянии сервисов.
  • Централизованное хранение журналов.
  • Инструменты для быстрой разработки.

Быстрый старт

// Установить проектный фреймворк
go get -u github.com/panco95/go-garden@v1.4.4
go install github.com/panco95/go-garden/tools/garden@v1.4.4

// Создать проект
garden new my-gateway gateway
garden new my-service service

// Изменить конфигурацию сервиса и маршрутизацию
......

// Запустить шлюз
go run my-gateway/main.go -configs=my-gateway/configs -runtime=my-gateway/runtime
// Запустить сервис
go run my-service/main.go -configs=my-gateway/configs -runtime=my-gateway/runtime

Учебник: быстрое создание микросервиса с помощью Go Garden

Посетите учебник, чтобы шаг за шагом изучить, как использовать go-garden.

Фреймворк: быстрое создание проекта

Посетите раздел инструменты, чтобы узнать, как использовать фреймворк.

Развёртывание с Docker

Смотрите файлы Dockerfile и docker-compose.yml в каталоге deply.

Общение

QQ группа: 967256601

Лицензия

Go Garden имеет лицензию Apache 2.0.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/pancoJ-go-garden.git
git@api.gitlife.ru:oschina-mirror/pancoJ-go-garden.git
oschina-mirror
pancoJ-go-garden
pancoJ-go-garden
master