Английская версия | Русский
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, расширение передачи метаданных и расширение модуля диагностики. Подробнее см. Документацию.
Ссылки
Часто задаваемые вопросы (FAQ)
Проверка производительности может предоставить лишь относительные данные; в промышленной среде множество факторов могут влиять на реальную производительность.
Мы предлагаем проект kitex-benchmark для долгосрочного отслеживания и сравнения производительности Kitex с другими фреймворками при различных условиях.
Kitex распространяется под лицензией Apache License 2.0; лицензии сторонних компонентов см. в разделе Лицензии.
Электронная почта: conduct@cloudwego.io
Как стать участником сообщества: MEMBERSHIP IN THE COMMUNITY
Проблемы: Problems
Группа в Lark (регистрация в Lark для участия):
WeChat: CloudWeGo community
CloudWeGo расширяет экосистему облачных технологий CNCF.
Облачная платформа CloudWeGo входит в состав ландшафтной карты облачных технологий CNCF.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )