После прочтения о различных доступных политиках балансировки нагрузки (https://datastax.github.io/cpp-driver/topics/configuration/), мне кажется, что для лучшей производительности, особенно в кластере с несколькими центрами обработки данных, политики, учитывающие токены и задержку, должны использоваться вместе (раздел «Советы по повышению производительности» вышеупомянутой статьи).
Согласно моему пониманию (при условии, что коэффициент репликации> 1), когда мы будем использовать обе эти политики вместе, клиент вычислит хэш первичного ключа, используемого в запросе, а затем на основе задержки выберет лучший реплика для выполнения этого запроса. Является ли это понимание правильным в данном сценарии?
Кроме того, я хотел понять, как именно реализовать / настроить эти 2 политики вместе. Мне нужно просто включить обе политики одну за другой в моем коде C ++? Если нет, может ли кто-нибудь поделиться фрагментом кода для включения обеих политик вместе?
Да, ваше понимание верно — вы можете использовать обе политики вместе. Чтобы включить их — просто вызовите 2 соответствующие функции вместе и установите необходимые настройки, как описано в документации.
Если у вас несколько DC, то имеет смысл также включить балансировку нагрузки с учетом DC …
Других решений пока нет …