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

OSCHINA-MIRROR/mirrors-Go-Chassis_old1

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 00:00 e22d3db

Статус покрытия Отчет Go Report Card Документация GoDoc Количество просмотров
Скачивание с goproxy.cn Статус документации

Русская версия README

Go-Chassis — это микросервисная платформа для быстрого создания микросервисов на языке Go. Она направлена на помощь разработчикам в создании облачных приложений легче. Основная идея логотипа заключается в том, что разработчики могут воссоздать и настроить свое собственное "колесо" (платформу) с помощью Go Chassis для ускорения доставки программного обеспечения.### Почему использовать Go chassis

  • мощная среда выполнения "цепочки обработчиков": более мощная, чем "фильтр" или "интерцептор". каждый обработчик в цепочке может получить результат работы обратного обработчика и вашей бизнес-логики. Это очень полезно в различных ситуациях, например:
  1. автоматический выключатель нуждается в проверке результатов команд;
  2. отслеживание статуса ответа и его запись, чтобы Prometheus мог собирать данные;
  3. отслеживание критических результатов ответа, чтобы можно было аудировать их;
  4. распределённое трассирование, вы можете завершить спецификацию конечного спана после выполнения бизнес-логики.Общий момент выше заключается в помощи вам разделить общие функции от бизнес-логики. Без цепочки обработчиков эти функции будут связаны с бизнес-логикой.
  • Go Chassis спроектирован как протокол-независимая платформа, любое соединение может быть интегрировано с Go Chassis и использовать такие же функции, как балансировка нагрузки, автоматический выключатель, ограничение скорости, управление маршрутизацией. Эти функции делают ваш сервис устойчивым.

  • Go Chassis делает ваши службы наблюдаемыми, приводя открытую трассировку и Prometheus к ним.- Go Chassis гибкий, многие различные модули могут быть заменены другими реализациями, например, регистратор, метрики, цепочка обработчиков, сервер конфигураций и т. д. С множеством встроенных функций, таких как управление маршрутами, отключение цепи при сбое, балансировка нагрузки, мониторинг и т. д., вы не будете вынуждены самостоятельно исследовать, реализовывать и интегрировать множество решений. # Возможности

    • Плагинируемый сервис открытия: Поддерживает центр обслуживания, Kubernetes. Подходит как для клиентского, так и для серверного паттерна открытия услуг, и вы можете отключить сервис открытия услуг для использования прямого взаимодействия между конечными точками.
    • Плагинируемый протокол: Вы можете настроить протокол; по умолчанию поддерживаются HTTP и gRPC. Go Chassis определяет стандартизованный модель, чтобы все запросы различных протоколов использовали одни и те же возможности.
    • Управление несколькими серверами: можно разделить API по протоколам и портам
    • Цепочка обработчиков: Возможность добавления своего кода во время вызова услуги для клиента и сервера
    • Богатое средство: на основе цепочки обработчиков, предоставляется защитник схемы, ограничение скорости, мониторинг, аутентификация. см. - Трафик-маркер: Модуль трафик-маркера может помечать запросы как со стороны клиента (потребителя), так и со стороны сервера (поставщика), с помощью метки можно управлять трафиком на её основе.
    • Управление трафиком: Возможность маршрутизации в различные службы на основе веса и правил совпадения, что может быть использовано в различных сценариях, таких как выпуск канарейки.
    • Безопасность: Встроенное шифрование, аутентификация, функции, связанные с RSA.
    • Безопасность и надёжность: Поддержка отказоустойчивости (повторная попытка, ограничение скорости, балансировка нагрузки на стороне клиента, защитник схемы) для обеспечения работоспособности вашего сервиса при любых непредвиденных ситуациях.
    • Телеметрия: Возможность автоматического вывода API-метрик Prometheus и настройки отчётов о метриках. Использует opentracing-go как стандартную библиотеку.
    • Поддерживающие службы: Использует службу обратной связи как плагин, таким образом ваше приложение легко тестируется и заменяется другим плагином.
    • Горячее переопределение конфигураций: Обеспечивается go-archaius, конфигурации могут быть перезагружены в режиме реального времени, такие как балансировка нагрузки, защитник схемы, ограничение скорости, разработчик также имеет возможность создания сервиса с функцией горячего переопределения конфигураций легко. см.
    • Первичный API: go chassis автоматически генерирует документацию OpenAPI 2.0 и регистрирует её в центре обслуживания. Вы можете управлять всеми документациями API в одном месте.
    • Spring Cloud: интеграция с ServiceComb, go chassis может работать вместе с Spring Cloud.
    • Слой сервисов (service mesh): вы можете ввести многоговорность в ваш систему микросервисов, используя ServiceComb-Mesher.
  • Меньше зависимостей: проверьте файл go.mod, он имеет меньше зависимостей от открытых проектов по умолчанию. Для импорта дополнительных возможностей проверьте плугины, чтобы узнать больше функций.

Начало работы

  1. Создайте модуль Go
go mod init
  1. Добавьте Go Chassis
go get github.com/go-chassis/go-chassis/v2@v2.0.4

Если вы сталкиваетесь с сетевыми проблемами

export GOPROXY=https://goproxy.io
```3. [Напишите свой первый микросервис HTTP](https://go-chassis.readthedocs.io/en/latest/getstarted/writing-rest.html)

# Документация
Вы можете найти больше документов [здесь](https://go-chassis.readthedocs.io/) 

# Примеры
Вы можете проверить примеры [здесь](examples)

УВАЖАТЕЛЬНО: Сейчас примеры переезжают в [это место](https://github.com/go-chassis/go-chassis-examples)

# Коммуникационные протоколы
Go-Chassis поддерживает два типа коммуникационных протоколов.
1. http — подход, использующий протокол HTTP для связи.
2. gRPC — нативный протокол gRPC, Go Chassis предоставляет управление цепочками, маршрутизацию и т.д.

## Совет по отладке для dlv:
Добавьте `-tags debug` в аргументы сборки Go перед отладкой, если ваша версия Go — go1.10 и выше.

Пример:

```shell
go build -tags debug -o server -gcflags "all=-N -l" server.go

Часы Go Chassis используются для решения проблемы отладки dlv:

https://github.com/golang/go/issues/23733

https://github.com/derekparker/delve/issues/865

Другие проекты, использующие go-chassis

  • apache/servicecomb-kie: Облачная система управления распределённой конфигурацией, использует Go Chassis и Mesher, чтобы пользователи могли управлять конфигурациями сервисов через эту систему.
  • apache/servicecomb-mesher: Система для управления сервисами, способна работать вместе с Go Chassis, также может использоваться как API-gateway.
  • KubeEdge: Kubernetes-независимый фреймворк для облачной вычислительной сети (проект под CNCF) https://kubeedge.io# Известные пользователи Для регистрации обратитесь к https://github.com/go-chassis/go-chassis/issues/592
Huawei Qutoutiao Shopee
Tencent IEG Changhong

Участие

Если вас интересует участие в проекте и вы хотите принять участие в разработке, пожалуйста, проверьте Условия участия и вики для получения подробной информации.

Присоединиться к Slack

Коммитеры

  • ichiro999
  • humingcheng

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-Go-Chassis_old1.git
git@api.gitlife.ru:oschina-mirror/mirrors-Go-Chassis_old1.git
oschina-mirror
mirrors-Go-Chassis_old1
mirrors-Go-Chassis_old1
master