Перейти к содержанию

Пул соединений

Пул соединений (IProtoClientPool)

В Tarantool Java SDK пул соединений представляет собой набор подключений к узлам Tarantool, объединенных в логические группы. Эти группы создаются с помощью экземпляров класса InstanceConnectionGroup, который содержит необходимые метаданные. Более подробно о InstanceConnectionGroup.

При создании TarantoolCrudClient или TarantoolBoxClient создается один экземпляр IprotoClientPool. Этот пул, на основе переданных ему InstanceConnectionGroup, создает внутри себя экземпляры PoolEntry, которые управляют жизненным циклом своего соединения (процесс подключения/отключения, heartbeat). Каждый EntryPool связан только с одной логической группой. Все EntryPool в одной логической группе содержат свои собственные соединения к одному и тому же узлу.

Место IProtoClientPool в архитектуре Java-клиента

IProtoClientPool следует рассматривать как контейнер, предназначенный для хранения набора соединений. При выполнении запросов IProtoClientPool действует как объект, предоставляющий балансировщику активные соединения (не более). Более подробную информацию о выборе соединения при запросах можно найти в разделе о балансировщиках.

Важно

Фактическое установление соединения в IProtoClientPool происходит, когда балансировщик впервые выбирает это соединение из пула.