[ 
https://issues.apache.org/jira/browse/CAMEL-10026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15793107#comment-15793107
 ] 

Luca Burgazzoli commented on CAMEL-10026:
-----------------------------------------

Yep, we may borrow some concepts from eureka, i.e:

- for stateful protocols we may leverage the protocol itself and having the 
"health checker" rely on the component/endpoint/etc. which are the responsible 
to update their status.
- for stateless protocol/services we may add some metadata to the check 
definition and then the "health checker" could use them to perform commons 
checks, i.e. you may add an "healt-service-uri" metadata and the "health 
checker" would perform an http request on the uri for http services or a telnet 
like for socket stuffs.

Of course you should be able to provide your own logic.
Meta-data could also be used to determine when a service is effectively down, 
i.e. how many time you should retry to mark the service down.

This health check registry can also be used by "Clustered" context/rules to 
release the leadership and decide when to participate in leader elections.
 

> HealthCheck API
> ---------------
>
>                 Key: CAMEL-10026
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10026
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core
>            Reporter: Claus Ibsen
>
> Add a health check API to camel-core so this API can be queried from Java / 
> JMX / spring-boot etc. so users can easily get a health check. This can be 
> used for liveness/readiness checks for their Camel apps.
> The API should allow optional support for components to implement custom 
> logic for health check. So a FTP component can connect to a FTP server and do 
> a FTP list etc. A JDBC component does a SQL query, and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to