tarantool / cartridge-java

Tarantool Cartridge Java driver for Tarantool versions 1.10+ based on Netty framework
https://tarantool.io
Other
27 stars 11 forks source link

Check all cases with BinaryDiscovery about properly balancing #380

Open ArtDu opened 1 year ago

ArtDu commented 1 year ago

I want to test how the client behaves with BinDiscovery when routers changing(be added, be deleted)

dkasimovskiy commented 1 year ago

Ждем релиз cartridge-java-testcontainers

ArtDu commented 1 year ago

Проверили работу штатной балансировки клиента TNT – работает.

Но заметили 2 проблемы балансировки:

  1. Перезагрузили один роутер. Клиент перестал его нагружать. После перезагрузки второго, нагрузка возвращается на первый перегруженный роутер, а второй остается без нагрузки. Ситуация моделируется каждый раз.

image

Такое ощущение, что перепроверка здоровья ранее упавших роутеров выполняется только при падении следующего. Кажется это поведение нужно поправить.

  1. Клиент с родной балансировкой работает где-то на 5% медленней, чем наш костыль с множеством клиентов: костыль 28,4rps, родная балансировка 27,1rps

Костыль: image

Родная балансировка: image

ArtDu commented 1 year ago

Мне кажется приоритетнее https://github.com/tarantool/cartridge-java/issues/404 Плюс надо будет обновить отдельным PR версию tarantool-testcontainers или изменить тесты