-
Notifications
You must be signed in to change notification settings - Fork 10
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
cloud native #884
Comments
@cportele External dependenciesEverything that is not part of the application code but has to be accessed during runtime is an external dependency. That includes the store, any kind of database and any kind of web service. Any external dependency is by design volatile, it is either there or it is not. Hence we would introduce an interface Consumers of EntitiesThere are already some thoughts in #879. Entity types are feature providers, tile providers and APIs, where feature providers may be used by tile providers and APIs, tile providers may be used by APIs, and APIs are used by clients/users. There are three parties that are interested in the state and health of entities:
StatesEvery entity already has as state, one of Currently only
As an example a state: HEALTHY
crs: true
queries: true state: ACTIVE
crs: true
queries: false state: DEFECTIVE
crs: false
queries: false Coming back to the external dependencies from above, the reason for Similar to Startup and reloadsEvery entity has an Listeners for Health checksHealth checks are a tool for administrators, they can check the current state of the application, collect metrics over time or get alerted on issues. Every entity should have a health check that shows its state und subcomponent states like described above. In addition there should be some global health checks, first and foremost for the store. Health checks are also used by orchestrators like Kubernetes. In this case, the detailed health checks are not needed, instead two boolean flags APIsThe API entities are not consumed by other application components, but by clients and users. In this case the state and subcomponent state has to be communicated through http status codes and maybe the OpenAPI definition. An enabled API should be considered as always online. That means 404 is reserved for disabled APIs or building blocks. When the I think the main task here is to define what the relevant subcomponents are and how their state affects single operations or the API as a whole. I think the starting point would be the |
Roadmap to level up ldproxy from cloud ready to cloud native:
The text was updated successfully, but these errors were encountered: