Java-реализация Apache Dubbo — RPC- и микросервисного фреймворка для связи между сервисами, обнаружения сервисов и управления трафиком.
apache/thrift
Независимый от языка RPC-фреймворк с генератором кода для создания совместимых клиентов и серверов на множестве языков программирования.
Open source альтернатива:gRPC
Protocol Buffers
- Звёзды
- 10,958
- Форки
- 4,116
- Открытые issues
- 29
- Последний коммит
- 15 часов назад
Что это?
Apache Thrift — это лёгкий программный стек для удалённого вызова процедур между двумя узлами. Он предоставляет абстракции для передачи и сериализации данных, а также обработки на уровне приложения. Генератор кода преобразует простой язык описания интерфейсов в код клиентов и серверов на множестве языков.
Thrift поддерживает 28 языков программирования, поэтому сервисы, написанные на разных языках, могут обмениваться данными и вызывать методы друг друга. Фреймворк спроектирован так, чтобы обновление сервера не нарушало работу старых клиентов, а новые клиенты могли взаимодействовать со старыми серверами. Это упрощает управление версиями API.
Компилятор написан на C++. В репозитории есть библиотеки для разных языков, тестовые наборы с межъязыковыми тестами и руководство. Сборка выполняется с помощью Autotools или Docker.
Ключевые возможности
- 01Генерация кода клиентов и серверов на основе простого языка описания
- 02Поддержка 28 языков программирования
- 03Подключаемые уровни передачи и сериализации данных
- 04Совместимость при поэтапном обновлении версий
- 05В комплекте есть тестовый набор для проверки взаимодействия между языками
Сценарии использования
- Создание микросервисов на разных языках, которым нужно взаимодействовать друг с другом
- Предоставление стабильного RPC API, которое должно обслуживать старых клиентов во время обновлений
- Общий доступ к структурам данных для C++-бэкенда и клиентов на других языках
Быстрый старт
- 1
Сгенерируйте скрипты configure (это нужно только при сборке из репозитория исходного кода, но не из tarball)
./bootstrap.sh - 2
Настройте сборку; используйте --with-boost, если Boost находится в нестандартном месте
./configure - 3
Соберите Thrift
make - 4
Установите Thrift с правами суперпользователя
make install
Что важно знать
- Для сборки из исходного кода требуются autotools и такие зависимости, как Boost. Они перечислены в документации по установке, которая может быть устаревшей.
- Некоторые библиотеки для языков, например Java, Ruby и PHP, необходимо устанавливать вручную с помощью собственных инструментов сборки.
Темы
Частые вопросы
- Что такое thrift?
- Независимый от языка RPC-фреймворк с генератором кода для создания совместимых клиентов и серверов на множестве языков программирования. Apache Thrift — это лёгкий программный стек для удалённого вызова процедур между двумя узлами. Он предоставляет абстракции для передачи и сериализации данных, а также обработки на уровне приложения. Генератор кода преобразует простой язык описания интерфейсов в код клиентов и серверов на множестве языков.
- thrift можно использовать бесплатно? Какая у него лицензия?
- thrift распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- thrift всё ещё поддерживается?
- Активно поддерживается. Последний коммит в thrift — 21 окт. 2026 г..
- Для чего можно использовать thrift?
- Создание микросервисов на разных языках, которым нужно взаимодействовать друг с другом Предоставление стабильного RPC API, которое должно обслуживать старых клиентов во время обновлений Общий доступ к структурам данных для C++-бэкенда и клиентов на других языках
- Как установить thrift?
- Сгенерируйте скрипты configure (это нужно только при сборке из репозитория исходного кода, но не из tarball): ./bootstrap.sh Настройте сборку; используйте --with-boost, если Boost находится в нестандартном месте: ./configure Соберите Thrift: make Установите Thrift с правами суперпользователя: make install
- Где скачать thrift?
- Исходный код и инструкции по установке — на GitHub: https://github.com/apache/thrift
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Кроссплатформенная библиотека сериализации, позволяющая читать бинарные данные напрямую, без предварительного разбора или распаковки.
Мнение-ориентированный Java-фреймворк для создания готовых к эксплуатации приложений и сервисов на Spring с минимальной настройкой.
Библиотека Java для преобразования Java-объектов в JSON и обратно, в том числе объектов, исходный код которых недоступен.
Шаблон проекта на Clean Architecture для Go-сервисов: примеры организации кода с REST, gRPC, AMQP RPC и NATS RPC.
Набор из более чем 30 утилит для Windows, которые помогают настроить рабочий стол и ускорить повседневные задачи — от раскладки окон до переназначения клавиш.