Группа соединений
InstanceConnectionGroup
InstanceConnectionGroup - класс, агрегирующий параметры для настройки группы соединений к узлу
Tarantool.
Концепция групп соединений
Высокоуровневые клиенты TarantoolCrudClient/ TarantoolBoxClient осуществляют взаимодействие с
узлами Tarantool посредством логически разделенных групп соединений. Каждая группа
представляет собой набор соединений (IProtoClient) к одному узлу Tarantool.
При создании высокоуровневого клиента объект класса IProtoClientPool создает группы соединений на
основе метаданных, переданных в объектах класса InstanceConnectionGroup. Одна логическая группа
соединений создается на основе метаданных одного объекта класса InstanceConnectionGroup.
Использование нескольких соединений в рамках одной группы позволяет повысить производительность работы Java-клиента, особенно в ситуациях, когда операции над данными выполняются параллельно. Выбор соединения для выполнения запроса определяется правилами балансировки (подробнее).
Описание параметров
| Имя параметра | Описание | Значение по умолчанию |
| host | Адрес узла, к которому должна подключиться группа соединений | localhost |
| port | Порт, на котором узел Tarantool ожидает соединения. Вместе с host составляет полный адрес узла Tarantool | 3301 |
| user | Имя пользователя, с помощью которого будет производиться аутентификация клиента при подключении к узлу Tarantool | user |
| password | Пароль для пользователя | "" |
| size | Количество соединений к одному узлу ( Netty connection) | 1 |
| tag | Тег-имя группы подключения. Необходим для идентификации группы в пуле соединений, логах | user:host:port |
| flushConsolidationHandler | Подробнее | null |
| authType | Тип алгоритма аутентификации Java-клиента. Подробнее смотрите Javadoc класса
AuthType и официальную
документацию Tarantool
|
AuthType.CHAP_SHA1 |
Значения для host и port задаются в соответствии с InetSocketAddress.
Использование
Для создания экземпляра класса InstanceConnectionGroup нужно воспользоваться
InstanceConnectionGroup.Builder:
final InstanceConnectionGroup connectionGroup = InstanceConnectionGroup.builder()
.withHost("localhost")
.withPort(3301)
.withUser("user2581-test")
.withPassword("pwd-1")
.withSize(3)
.withTag("Node-1")
.withAuthType(AuthType.CHAP_SHA1)
.build();
Далее группа добавляется в TarantoolCrudClientBuilder или TarantoolBoxClientBuilder: