I have a Spring application deployed on cluster of Tomcat servers with Oracle Database and JMS server (Tibco EMS) as external resources.
I have a non functional requirement to check if DB and JMS servers are available and inform tomcat cluster when they go down. (Heartbeat management)
Is Zookeeper a good fit for this requirement? I can have ephemeral znodes created for those resources and when they are unavailable / diconnected, those nodes will get deleted from zookeeper. Any watcher on those znodes can then get informed about the unavailability of those external resources.
Is this use case generally handled using zookeeper? If yes, who would create those znodes in zookeeper for DB and JMS servers?
Is there any recipe in zookeeper or in Apache curator for handling external resources status requirement?
If Zookeeper is not a good fit for managing external resources status, how is the heartbeat requirement for such external resources usually managed?