Мониторинг работоспособности Java в кластерной среде

Я работаю над серверной службой, которая работает в кластерной среде (параллельно работает три экземпляра для распределения некоторой вычислительной работы). Я использую hazel cast для создания кластера и распределения заданий.

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

Как мне добиться такой проверки работоспособности в кластере? Есть ли какая-нибудь библиотека, которая рекомендуется для этого?


person Keyur Mahajan    schedule 28.01.2019    source источник
comment
Вы предоставляете какую-либо службу проверки работоспособности в своем приложении или хотите полагаться на службу проверки работоспособности Hazelcast?   -  person Ozan Kılıç    schedule 28.01.2019
comment
Мне нужна конечная точка отдыха для проверки работоспособности, которая должна обеспечивать не только проверку здоровья, связанную с hazelcast, но и другие внутренние проверки, связанные с бизнесом. но хочу этот через кластер.   -  person Keyur Mahajan    schedule 28.01.2019
comment
Я понимаю. Я не знаю ни одной распределенной библиотеки или инструмента проверки работоспособности. Но для стороны Hazelcast это может быть вам полезно: docs.hazelcast.org/docs/3.11/manual/html-single/   -  person Ozan Kılıç    schedule 28.01.2019
comment
Насколько я понимаю, вам нужен инструмент, который будет агрегировать результаты проверки работоспособности каждого экземпляра и сообщать об этом в унифицированном виде, верно?   -  person Ozan Kılıç    schedule 28.01.2019
comment
да. @OzanKılıç. в яблочко. не только проверка работоспособности (например, процессор, память и т. д.), но и некоторые внутренние функциональные проверки бизнеса.   -  person Keyur Mahajan    schedule 29.01.2019


Ответы (2)


Один из подходов заключается в том, чтобы «направить» индикаторы работоспособности в базу данных (все экземпляры должны знать или «обнаружить» базу данных).

Другой подход — использовать консул (или аналогичные решения) для регистрации сервисов с проверками работоспособности. У Consul есть несколько Java-клиентов, из которых вы можете выбирать.

person Roy Shahaf    schedule 28.01.2019

Платформа Java имеет функцию JMX. службы, которые будут предоставлять метрики приложения. Затем вы можете использовать одно из существующих решений для мониторинга метрик JMX (Zabbiz, Grafana, ELK и т. д.) или реализовать свой собственный сервис, который будет опрашивать или потреблять данные JMX из каждого экземпляра в вашем кластере и предоставлять доступ к этим данным через rest API. .

person Mikhail Baksheev    schedule 12.02.2019