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

OSCHINA-MIRROR/cloudwego-kitex

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

Облачный пакет CloudWeGo-Kitex

Английская версия | Русский

Релиз Сайт Лицензия Отчет Go Report Card Открытые задачи Закрытые задачи Звезды Клонировки

Kitex [каɪˈтекс] — это внутренний микросервисный фреймворк RPC на языке Go компании ByteDance, который отличается высокой производительностью и гибкостью в расширении, широко используемый внутри компании. Сегодня все больше микросервисов выбирают использование Go, если требуется высокая производительность и возможность кастомизации для интеграции с существующими системами управления, то Kitex может стать хорошим выбором.

Основные характеристики

  • Высокая производительность

    Использует самописную высокопроизводительную сетевую библиотеку Netpoll, которая демонстрирует значительное преимущество перед стандартной библиотекой Go net.- Гибкость в расширении

    Предоставляет множество интерфейсов для расширения и дефолтные реализации этих интерфейсов, что позволяет пользователям создавать свои собственные расширения в зависимости от потребностей. Подробнее см. раздел "Расширение фреймворка".

  • Множественные протоколы сообщений

    По умолчанию поддерживаются следующие протоколы сообщений: Thrift, Kitex Protobuf, gRPC. Протокол Thrift поддерживает двоичные протоколы Buffered и Framed; Kitex Protobuf — это специализированный протокол сообщений, основанный на формате protobuf, аналогичном Thrift; gRPC обеспечивает взаимодействие с протоколом gRPC. Кроме того, пользователи могут реализовать свои собственные протоколы сообщений.

  • Множественные протоколы передачи данных

    Протоколы передачи данных используются для упаковки протоколов сообщений и обеспечения взаимодействия между сервисами. Они также могут передавать метаданные для использования в управлении сервисами. Kitex поддерживает следующие протоколы передачи данных: TTHeader, HTTP2. TTHeader совместим с протоколами Thrift и Kitex Protobuf; HTTP2 используется преимущественно вместе с протоколом gRPC, но будет поддерживать и протокол Thrift в будущих версиях.

  • Различные типы сообщенийПоддерживает PingPong, Oneway, двухстороннее Streaming. В настоящее время Oneway поддерживается только для протокола Thrift, двухстороннее Streaming — только для gRPC. В будущем планируется поддержка двухстороннего Streaming для Thrift.- Управление сервисами

    Поддерживает модули управления сервисами, такие как регистрация/открытие сервисов, балансировка нагрузки, отключение, ограничение скорости, повторные попытки, мониторинг, трассировку цепочек вызовов, логирование и диагностику. Большинство этих модулей уже имеют встроенные расширения, и пользователи могут выбирать необходимые для интеграции.

  • Генерация кода

    Kitex имеет встроенное средство генерации кода, которое поддерживает создание кода для Thrift, Protobuf и шаблонов кода.

Подробная документация

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

  • Пользовательское руководство

    • Основные характеристики

      Включает типы сообщений, протоколы сериализации/десериализации, прямой доступ, пулы соединений, управление временем ожидания, повторные попытки запросов, балансировку нагрузки, отключение, контроль детальности метрик, логирование и HttpResolver. Подробнее см. Документацию.

    • Характеристики управления сервисами

      Поддерживает открытие сервисов, мониторинг, трассировку цепочек вызовов и пользовательскую систему управления доступом. Подробнее см. Документацию. - Продвинутые характеристики

      Поддерживает общие вызовы, серверные SDK и другие продвинутые возможности. Подробнее см. Документацию. - Генерация кода

      Предоставляет средства генерации кода и описание объединенного сервиса. Подробнее см. Документацию.

    • Расширение фреймворка

      Предоставляет базовое расширение — пользовательские Middleware и Suite, расширение регистрации сервисов, расширение открытия сервисов, расширение балансировки нагрузки, расширение мониторинга, расширение логирования, расширение протоколов сериализации/десериализации, расширение модуля передачи данных, расширение Transport Pipeline-Bound, расширение передачи метаданных и расширение модуля диагностики. Подробнее см. Документацию.

  • Ссылки

    • Описание уровня приложения TTHeader, ошибок и управления версиями см. Документацию.
  • Часто задаваемые вопросы (FAQ)

Высокопроизводительный фреймворк

Проверка производительности может предоставить лишь относительные данные; в промышленной среде множество факторов могут влиять на реальную производительность.

Мы предлагаем проект kitex-benchmark для долгосрочного отслеживания и сравнения производительности Kitex с другими фреймворками при различных условиях.

Связанные проекты- Netpoll: высокопроизводительная библиотека сетевых протоколов, используемая по умолчанию в Kitex.

  • kitex-contrib: расширения Kitex, которые можно интегрировать через Option в зависимости от потребностей пользователя.
  • Примеры использования: примеры использования Kitex.

Связанные статьи

Вклад в проект

Участие.

Лицензия

Kitex распространяется под лицензией Apache License 2.0; лицензии сторонних компонентов см. в разделе Лицензии.

Контакты

Lanshadi

  

CloudWeGo расширяет экосистему облачных технологий CNCF.

Облачная платформа CloudWeGo входит в состав ландшафтной карты облачных технологий CNCF.

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

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

1
https://api.gitlife.ru/oschina-mirror/cloudwego-kitex.git
git@api.gitlife.ru:oschina-mirror/cloudwego-kitex.git
oschina-mirror
cloudwego-kitex
cloudwego-kitex
develop