Внешние интерфейсы, библиотеки и коннекторы для взаимодействия с Reindexer
Для подключения к Reindexer разработаны коннекторы для интеграции с различными языками программирования. Также для подключения по сети можно использовать протокол HTTP или gRPC. Поддерживаются форматы данных:
CJSON
. Используется коннекторами при взаимодействии с Reindexer через cproto.JSON
,MSGPACK
,Protobuf
. Используются при взаимодействии с Reindexer по HTTP REST API и gRPC API.
Коннекторы и библиотеки для интеграции с Reindexer для разных языков программирования
Для работы с СУБД через языки программирования предлагаются официальные коннекторы от команды разработки Reindexer для Python, Java и Go, а также библиотеки от сторонних разработчиков для Rust, PHP, .NET.
Официальные коннекторы для работы с Reindexer от команды разработки СУБД
Коннектор для Go
Поддерживается для всех доступных вариантов использования Reindexer: Standalone
, Built-in
и Built-in server
. Взаимодействие с СУБД происходит через бинарный интерфейс приложений ABI и cproto.
Пример использования коннектора.
Коннектор Reindexer для Java (rx-connector)
Поддерживается для всех доступных вариантов использования Reindexer: Standalone
, Built-in
и Built-in server
.
Взаимодействие с СУБД происходит через бинарный интерфейс приложений ABI и cproto. Требуется Java версии 1.8 и новее.
Для использования rx-connector в проектах Java или Kotlin нужно добавить в Maven зависимости:
<dependency>
<groupId>com.github.restream</groupId>
<artifactId>rx-connector</artifactId>
<version>[LATEST_VERSION]</version>
</dependency>
Подробное описание коннектора и примеры использования.
Коннектор для Python (Pyreindexer)
Коннектор поддерживается при использовании Reindexer в вариантах Standalone
и Built-in
.
Взаимодействие с СУБД происходит через бинарный интерфейс приложений ABI и cproto.
Требуется версия Python 3.6 или новее.
Для установки коннектора используйте команду:
pip3 install pyreindexer
Подробное описание коннектора и примеры использования.
Коннекторы для работы с Reindexer от сторонних разработчиков
Коннектор Reindexer для PHP
Поддерживается только при использовании Reindexer в варианте Standalone
.
Взаимодействие с СУБД происходит через HTTP REST API. Коннектор устанавливается через менеджер зависимостей с помощью команды:
composer require smolevich/reindexer-client
Указание библиотеки в файле конфигурации Composer:
{
"endpoint": "http://localhost:9088",
"client_config": {
"http_errors": 0
}
}
Здесь:
endpoint
- адрес экземпляра Reindexer,client_config
- настройки PHP-HTTP-клиента Guzzle для PHP.
Подробное описание коннектора и примеры использования.
Коннектор Reindexer для Rust (reindexer-rs)
Коннектор поддерживается при использовании Reindexer в вариантах Standalone
и Built-in
.
Взаимодействие с СУБД происходит через бинарный интерфейс приложений ABI. Устанавливается через менеджер пакетов APT.
Подробное описание коннектора и примеры использования.
Коннектор Reindexer для .NET (ReindexerNet)
Поддерживается при использовании Reindexer в вариантах Built-in
, Built-in server
(взаимодействие с СУБД происходит через бинарный интерфейс приложений ABI) и Standalone
(взаимодействие с СУБД — через gRPC).
ReindexerNet на данный момент находится в стадии Альфа тестирования.
Подробная информация о коннекторе.
HTTP REST API
Самый простой способ взаимодействия с Reindexer, независимо от языка программирования — использование REST API. Интерактивная версия документации. Также можно открыть интерактивную REST API документацию прямо на хосте, где запущен Reindexer. Для этого после запуска СУБД перейдите по ссылке http://127.0.0.1:9088/swagger.
gRPC API
gRPC API СУБД Reindexer определяется в файле .proto, а создание клиентов возможно на любом из поддерживаемых gRPC языков.
В официальном Docker-образе Reindexer gRPC включен по умолчанию. При выборе этого варианта никаких дополнительных настроек не потребуется.
При использовании наших deb/rpm-пакетов gRPC API недоступен. Если вы не хотите использовать Docker-образ, и при этом есть необходимость в gRPC, скачайте исходные файлы Reindexer, а затем:
- Соберите reindexer_server с опцией cmake
-DENABLE_GRPC
. - Запустите reindexer_server с флагом
--grpc
. Подробнее — в разделе Конфигурация сервера Reindexer. - Создайте gRPC-клиент на основе файла proto-описания reindexer.proto для используемого вами языка программирования. Подробнее.
- Подключите gRPC-клиент к серверу Reindexer. Порт для подключения
16534
.