Browser (querybase-ui: Scala.js -> JavaScript)
+ Rendering DOM (airframe-rx-html)
+ ServiceJSClient (querybase-frontend-client, genearted by sbt-airframe)
|
Frontend server (Airframe Finagle)
+ ServiceGrpc (querybase-api-client, generated by sbt-airframe)
|
Coordinator (Airframe gRPC)
+ Query Manager (query queue, status update)
|
Worker (Airframe gRPC)
+ Query Executor
|
Remote Services
+ Trino (Presto) service (e.g., TD)
+ TODO:
- Standalone Spark kernel (local[*])
- Python kernel
RPC definitions and model classes can be found in querybase-api.
- querybase.api.backend API for accessing coordinator and workers
- querybase.api.frontend API for browsers