2017-01-16 3 views
0

два взаимосвязанных вопросаПодключение к Кассандре при запуске, а также мониторинг состояния здоровья сессии

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

connector.provider.session 

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

connector.provider.session.isClosed() 

, но я не уверен, что он выполнит эту работу.

ответ

0

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

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

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

connector.provider.session.isClosed()

Но вы также сердцебиений, что можно подключиться и посмотреть на и так далее. Есть более подробно here.

+0

Спасибо! Мы также проводим мониторинг JMX, но хотим добавить простую проверку C * на конечную точку api службы «работоспособность», которая будет подвергаться другим службам. Что происходит, когда соединение с C * get потеряно? сеанс закрыт, а затем перезапущен? Может ли сеанс быть открытым, пока сеть на C * не работает? – EugeneMi

+0

@EugeneMi Нет, насколько я знаю. Он может быть открыт, если несколько узлов подключены к одному сеансу, а некоторые из узлов - вниз, а другие - вверх. – flavian

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