You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’d like to check whether the following approach is considered best practice and if future releases are unlikely to break it. Additionally, any suggestions or recommendations would be greatly appreciated.
We are designing a system to scrape metrics from multiple replicas (X). The server itself can expose hundreds of metric types, grouping them accordingly, and all metrics will ultimately follow the same format. Our goal is to allow scraping at different intervals for different metrics. In some cases, we may also need to query different servers for specific metric groups and types.
We need a generic or common service interface that all metric services implement.
One possible solution is to generate the gRPC definitions and implement dynamic service registration at runtime based on the available metric services, allowing the client to invoke them accordingly.
Another approach we are considering is maintaining a single service registration while wrapping the service to route requests to the appropriate implementation based on metadata. Alternatively, we could use an interceptor to direct requests to the relevant handler.
To be honest, I'm inclined toward dynamic service registration and letting go-gRPC handle the logic, as some gRPC gateways and ingress controllers use similar mechanisms, leveraging reflection.
I've encountered #1825, but I couldn't find any reference or example related to it.
The text was updated successfully, but these errors were encountered:
I’d like to check whether the following approach is considered best practice and if future releases are unlikely to break it. Additionally, any suggestions or recommendations would be greatly appreciated.
We are designing a system to scrape metrics from multiple replicas (X). The server itself can expose hundreds of metric types, grouping them accordingly, and all metrics will ultimately follow the same format. Our goal is to allow scraping at different intervals for different metrics. In some cases, we may also need to query different servers for specific metric groups and types.
We need a generic or common service interface that all metric services implement.
One possible solution is to generate the gRPC definitions and implement dynamic service registration at runtime based on the available metric services, allowing the client to invoke them accordingly.
Another approach we are considering is maintaining a single service registration while wrapping the service to route requests to the appropriate implementation based on metadata. Alternatively, we could use an interceptor to direct requests to the relevant handler.
To be honest, I'm inclined toward dynamic service registration and letting go-gRPC handle the logic, as some gRPC gateways and ingress controllers use similar mechanisms, leveraging reflection.
I've encountered #1825, but I couldn't find any reference or example related to it.
The text was updated successfully, but these errors were encountered: