Подключение к Cassandra при запуске и мониторинг состояния сеанса

Два связанных вопроса

1) В настоящее время сеанс на C* устанавливается лениво - иначе говоря, только при первом доступе к любой таблице.
Вместо этого мы хотели бы установить сеанс сразу после запуска приложения (в случае проблем с подключением и т. Д.). Каков был бы лучший способ сделать это? Должен ли я просто получить объект сеанса в моем коде запуска?

connector.provider.session

2) Как мне тогда следить за состоянием соединения? Я мог позвонить

connector.provider.session.isClosed()

но я не уверен, что это сделает работу.

1 ответ

Я бы не стал полагаться на этот механизм, так как вы, возможно, захотите получить больше метрик из кластера, для чего у вас есть встроенная поддержка JMX, поэтому через протокол JMX вы можете взглянуть на метрики более подробно.

Теперь, очевидно, у вас есть OpsCenter, который изначально использует эту функцию, но в качестве альтернативы вы можете использовать комбинацию слушателя JMX с чем-то вроде Graphana(просто идея) или любым другим, что поддерживает нативную совместимость.

С точки зрения методов низкого уровня, да, вы на деньги:

connector.provider.session.isClosed()

Но у вас также есть сердцебиение, которое вы можете регистрировать, просматривать и так далее. Здесь есть больше деталей.

Другие вопросы по тегам