Я бегу с Cassandra 2.1.16. Мне нужно ограничить количество запросов в определенном ключевом пространстве в Cassandra, потому что приложение запускает запрос для этого ключевого пространства с интенсивным объемом памяти. Если их хватит на то же время, у Кассандры закончится куча.Невозможно получить RoundRobinScheduler для работы в Cassandra
Использование RoundRobinScheduler кажется идеальным решением для этого. Поэтому я включил его в cassandra.yaml и установил request_scheduler_options. Так что для моего примера ниже, я хочу, не более 2 запросов активен сразу для ключевого пространства под названием mykeyspace:
request_scheduler: org.apache.cassandra.scheduler.RoundRobinScheduler
request_scheduler_options:
throttle_limit: 80
default_weight: 5
weights: mykeyspace: 2
request_scheduler_id: keyspace
Это не работает и не имеет никакого эффекта. Чтобы отладить это, я загрузил источник Cassandra и добавил сообщения журнала отладки ко всем методам в классе RoundRobinScheduler. Единственные зарегистрированные сообщения - это конструктор. Я не вижу сообщения журнала из других методов при выполнении запросов.
Неужели кому-то повезло с помощью RoundRobinScheduler? Возможно, я неправильно понял использование этого планировщика.
Я не думаю, что это вам поможет. Дросселирование вашего экземпляра никогда не является хорошей идеей. Вы должны лучше разделить свои данные и ограничить запросы сканирования, поступающие от клиентов. Убедитесь, что вы не используете кеширование строк и т. Д. Также проверьте надгробные плиты. Не работайте вокруг базовой проблемы, это не будет легче, так как ваше приложение растет. Рассматривая свой вопрос, вы, похоже, знаете свой путь достаточно, чтобы проверить этот материал. –