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

OSCHINA-MIRROR/undertreetech-waterdrop

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 4.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 07:02 c2bae5f

Waterdrop

Waterdrop — это высокопроизводительный микросервисный фреймворк, созданный на основе gin и grpc. Название Waterdrop («водная капля») происходит от романа «Троецарствие» — чистое и прекрасное, атакующее быстро и эффективно, обладающее огромной силой!

Характеристики

  • HTTP Server: основан на gin, можно использовать все функции gin.
  • RPC Server: официальная разработка gRPC, регистрация и обнаружение сервисов на основе etcd, балансировка нагрузки по умолчанию roundrobin.
  • Conf: поддержка yaml, toml, json и других форматов, анализ по умолчанию toml, настраиваемая функция прослушивания для обновления конфигурации файлов в горячем режиме.
  • Database: интеграция MySQL и Redis.
  • Log: на основе упаковки Zap.
  • Trace: интегрированный Opentracing, поддержка jaeger на земле.
  • Distribute Lock: распределённая блокировка на основе Redis и ETCD, первая подходит для блокировки бизнес-процессов с конечной согласованностью, вторая — для блокировки с сильной согласованностью.
  • Stats: метрики и профилирование работы сервиса.
  • Broker: по умолчанию поддерживает RocketMQ и Kafka.
  • Utils: вспомогательные функции.
  • Registry: регистрация и обнаружение служб, определение общих интерфейсов, поддержка etcd по умолчанию.
  • Status: глобальная обработка ошибок, используется для преобразования ошибок между HTTP и RPC. В будущем может быть расширена для загрузки определений ошибок из удалённого источника.
  • Dashboard: построение панели метрик на основе Grafana (ожидается реализация).
  • Breaker: прерыватель, поддерживает alibaba sentinel (github.com/alibaba/sentinel-golang) и google sre breaker (https://landing.google.com/sre/sre-book/chapters/handling-overload/).
  • Middlewares & Interceptors: общие промежуточные программы и перехватчики для HTTP и RPC серверов, такие как recovery, trace, metric и logger.

Установка go get github.com/UnderTreeTech/waterdrop

Инструменты Waterdrop предоставляет инструменты для повышения эффективности разработки. Чтобы установить последнюю версию инструмента, выполните команду go get -u github.com/UnderTreeTech/waterdrop/tools/waterdrop.

Инструменты зависят от protc и protoc-gen-go для генерации кода protobuf. На данный момент инструменты waterdrop не устанавливают эти плагины автоматически, и пользователям необходимо устанавливать их самостоятельно. Версии этих инструментов у разных пользователей могут различаться.

Функции инструментов waterdrop включают:

  • waterdrop new your_project_name — создание проекта со стандартной структурой.
  • waterdrop protoc --grpc --swagger xx.proto — генерация кода grpc и файла swagger api.
  • waterdrop swagger serve xx.swagger.json — обслуживание и просмотр swagger api.
  • waterdrop utgen xx.go — генерация модульных тестов.
  • waterdrop upgrade — обновление инструмента waterdrop.

Вклад Мы всегда приветствуем вклад! Вы можете начать с задач, помеченных как ошибка или функция.

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

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

1
https://api.gitlife.ru/oschina-mirror/undertreetech-waterdrop.git
git@api.gitlife.ru:oschina-mirror/undertreetech-waterdrop.git
oschina-mirror
undertreetech-waterdrop
undertreetech-waterdrop
master