2013-05-14 4 views
0

У меня есть кластер Cassandra 1.2, который использует vNodes (по умолчанию 256 на узел). Я хотел бы предсказать размещение этих vNodes физически внутри кольца изнутри клиента, чтобы я мог более эффективно выбирать узел координатора для каждого запроса.Cassandra Token Aware

Я знаю, что vNodes случайно распределены по кольцу, поэтому мне нужно будет запросить Cassandra хотя бы один раз на экземпляр клиента.

Любая идея, если это возможно? У cassandra-sharp есть класс, который будет выглядеть как отсеченный класс для выбора EndPoint по его строковой клавише: TokenAwareStrategy. Но, насколько я могу судить, он не имеет логики разделения. Кто-нибудь сделал это раньше?

Alex

ответ

1

CqlSharp имеет рабочую реализацию стратегии TokenAware. См. CqlSharp wiki о том, как его использовать.

Драйвер DataStax .net находится в стадии интенсивного развития. Я видел, что они работают над такой же логикой, но я не уверен, что такое текущее состояние.

+0

Спасибо! Должен пропустить CqlSharp. Я сначала поехал с драйвером DataStax рядом с кассандра-резким и очень предпочтительным кассандра-острым. –

+0

Как автор CqlSharp, я хотел бы услышать ваше мнение об этом ... ;-) –

+0

Это очень впечатляет. Получите 250 000 записей/с из 6 узлов без кеша строк: на 50 000 быстрее, чем у cassandra-sharp, при этом гораздо меньше усилий. Мы будем использовать ваш драйвер в нашем конечном продукте. Пул потоков и соединений гораздо более настраивается, чем c * -sharp. Повторно использовали ObjectAccessor и ваши атрибуты для создания мощных схем для наших данных. Очень чистый код. Единственное, чего не хватает в подключении log4net и правильном XmlConfig, но вместо этого использует Spring.Net. Еще раз спасибо. –

Смежные вопросы