Idea is to combine some of the similar nature query services together, which can then be deployed as a single piece.
Currently we have following query layer services:
graphql
gateway [grpc]
query [grpc]
entity [grpc]
attribute [grpc]
config [grpc]
and a bootstrapper job for attribute and config
The fact that these services are stateless makes it easy to combine them.
Broadly we can have 2 services
hypertrace-data-config-service: [config, attribute, entity]
hypertrace-data-query-service: [graphql, gateway, query, entity]
In this pr, to start with I have created the top level service hypertrace-data-query-service which runs gateway-service & query-service together
In a subsequent pr, I will create another top level service called hypertrace-data-config-service
Unlike https://github.com/hypertrace/hypertrace-service/pull/61, I have chosen to create a top level service to keep the configs separate and simple. Adding multiple charts and configs in the same module was making things difficult to understand.
Open questions:
Can graphql service be included in hypertrace-data-query-service ?
Since entity-service is used by ingestion path, keeping it in hypertrace-data-query-service doesn't seem like a good option. It can be kept alone or combined with hypertrace-data-config-service ?
Testing
Add another service which combines entity, attribute and config service
Description
Idea is to combine some of the similar nature query services together, which can then be deployed as a single piece. Currently we have following query layer services:
The fact that these services are stateless makes it easy to combine them.
Broadly we can have 2 services
hypertrace-data-config-service
: [config, attribute, entity]hypertrace-data-query-service
: [graphql, gateway, query, entity]In this pr, to start with I have created the top level service
hypertrace-data-query-service
which runsgateway-service
&query-service
together In a subsequent pr, I will create another top level service calledhypertrace-data-config-service
Unlike https://github.com/hypertrace/hypertrace-service/pull/61, I have chosen to create a top level service to keep the configs separate and simple. Adding multiple charts and configs in the same module was making things difficult to understand.Open questions:
hypertrace-data-query-service
?hypertrace-data-query-service
doesn't seem like a good option. It can be kept alone or combined withhypertrace-data-config-service
?Testing
Add another service which combines entity, attribute and config service
Tested the ht setup locally with hotrod app (using https://github.com/hypertrace/hypertrace/compare/hypertrace-data-config-service)
Issue: https://github.com/hypertrace/hypertrace/issues/166