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

OSCHINA-MIRROR/mirrors-Kratos

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

О Kratos

Название проекта вдохновлено игрой God of War, основанной на греческой мифологии. В ней рассказывается о приключениях Кратоса, который становится богом войны и начинает бойню с целью убить других богов.

Kratos — это ориентированная на микросервисы структура управления, реализованная на golang. Она предлагает удобные возможности, которые помогут вам быстро создать надёжное приложение с нуля:

  • Коммуникационный протокол основан на HTTP/gRPC через определение Protobuf.
  • Поддержка абстрактного транспортного уровня: HTTP / gRPC.
  • Мощный дизайн промежуточного программного обеспечения, поддержка: Tracing (OpenTelemetry), Metrics (Prometheus по умолчанию), Recovery и многое другое.
  • Интерфейс реестра можно подключить к различным другим централизованным реестрам через плагины.
  • Стандартные интерфейсы журналов упрощают интеграцию сторонних библиотек журналов с журналами, собранными через Fluentd.
  • Автоматическое поддержание выбора кодировки содержимого с помощью Accept и Content-Type.
  • Поддерживаются несколько источников данных для конфигураций и динамических конфигураций (используются атомарные операции).
  • В протоколе HTTP/gRPC используется единый метод передачи метаданных.
  • Вы можете определить ошибки в протосах и сгенерировать перечисления с помощью protoc-gen-go.
  • Можно определить правила проверки в Protobuf, поддерживаемые службой HTTP/gRPC.
  • API Swagger генерируется автоматически, а конечную точку встроенного пользовательского интерфейса Swagger можно запустить, добавив плагин Swagger.

Kratos доступен, мощен и предоставляет инструменты, необходимые для больших надёжных приложений. Изучение Kratos

Kratos обладает самой обширной и подробной документацией и библиотекой примеров среди всех современных фреймворков для веб-приложений, что делает его лёгким в освоении.

Мы также предоставляем современный шаблон. Этот шаблон должен помочь сократить объём работы, необходимой для создания современных проектов.

Цели

Kratos повышает вашу продуктивность. Благодаря интеграции отличных ресурсов и дальнейшей поддержке программисты могут избавиться от большинства проблем, с которыми они могут столкнуться в области распределённых систем и разработки программного обеспечения, чтобы сосредоточиться только на выпуске бизнеса. Кроме того, для каждого программиста Kratos также является идеальным учебным хранилищем для многих аспектов микросервисов, чтобы обогатить их опыт и навыки.

Принципы

  • Простота: Соответствующий дизайн с простым и понятным кодом.
  • Универсальность: Охватывает различные утилиты для развития бизнеса.
  • Высокая эффективность: Ускорение эффективности обновления бизнеса.
  • Стабильность: Базовые библиотеки, проверенные в производственной среде, обладают характеристиками высокой тестируемости, высокого покрытия, а также высокой безопасности и надёжности.
  • Надёжность: Исключение неправильного использования за счёт высокого качества базовых библиотек.
  • Высокая производительность: Оптимальная производительность без оптимизации взлома в случае unsafe.
  • Расширяемость: Правильно спроектированные интерфейсы, где вы можете расширять утилиты, такие как базовые библиотеки, для удовлетворения ваших дальнейших требований.
  • Отказоустойчивость: Разработан против сбоев, улучшает понимание и применение SRE в Kratos для достижения большей надёжности.
  • Набор инструментов: Включает обширный набор инструментов, таких как генерация кода кэша, инструмент lint и так далее.

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

Создайте игровую площадку kratos через docker:

docker run -it --rm -p 8000:8000 --workdir /workspace golang
apt-get update && apt-get -y install protobuf-compiler
export GOPROXY=https://goproxy.io,direct
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest && kratos upgrade
kratos new helloworld
cd helloworld/ && go mod tidy
kratos run

Используйте браузер, чтобы открыть и посетить: http://localhost:8000/helloworld/kratos, программа kratos работает!

Если вам нужно больше, пожалуйста, посетите документацию kratos.

Уязвимости безопасности

Если вы обнаружите уязвимость в системе безопасности в Kratos, отправьте электронное письмо на адрес tonybase через go-kratos@googlegroups.com. Все уязвимости будут оперативно устранены.

Сообщество

Участники

Спасибо, что рассматриваете возможность внести свой вклад в структуру Kratos! Руководство по внесению вклада можно найти в документации Kratos.

Лицензия

Фреймворк Kratos — это программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT.

Благодарности

Следующие проекты оказали особое влияние на дизайн Kratos:

  • go-kit/kit — программный инструментарий для создания микросервисов в Go.
  • asim/go-micro — фреймворк для разработки распределённых систем.
  • google/go-cloud — набор для разработки облачных приложений на Go.
  • zeromicro/go-zero — веб-фреймворк и RPC с множеством встроенных инженерных практик.
  • beego/beego — веб-фреймворк, включающий RESTful API, веб-приложения и бэкенд-сервисы.

Комментарии ( 0 )

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

Введение

Кратос — это набор микросервисных фреймворков Go с открытым исходным кодом от Bilibili, который включает в себя множество связанных с микросервисами фреймворков и инструментов. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-Kratos.git
git@api.gitlife.ru:oschina-mirror/mirrors-Kratos.git
oschina-mirror
mirrors-Kratos
mirrors-Kratos
main