-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Healthchecks aware of State Stores #139
Comments
Hi @Fryuni, currently Azkarra exposes the Basically, the service is considered to be:
Internally, Azkarra encapsualtes the So, to solve your issue I think you have two solutions :
Hope this help! |
I just checked it out, and it seems easy to implement a custom health check. Thank you! One more question: how to register a custom |
You can just annotate your class with |
Is there any way to register programmatically (I mean, using the builder)? |
Yes, you can just use the Why don't you use the component scan mechanism ? |
Oh, I see. We're just not a big fan of annotations :) I'll try to implement the health check and bring some feedback. Thanks! |
Not related to any particular environment
Is there any way to have a healthcheck that reports as unhealthy unless the application is actually processing messages? So unhealthy during rebalances and when rebuilding the state stores from the changelog?
What we managed to do is a liveness check for when azkarra is running and a readiness check for when all the applications have been instantiated, but ideally the readiness check should succeed only when the application is processing messages.
This causes a huge problem during scale ups/dows:
In this scenario, the entire consumer group would perform a full rebalance and discard all their state-stores, this causes up to 30 minutes of downtime
Even if we have every instance being a stand replica to every other instance (which is not scalable, but we tested as a workaround) it just solves the scale down problem. We need to expose to the orchestrator when the application is in a state where it can't be scaled.
I could not find anything in the docs related to this
The text was updated successfully, but these errors were encountered: