This service utilizes separate containers for REST API management, job processing, and datastorage with MongoDB, ensuring scalable and robust performance.
The REST API can be accessed via Swagger UI here: https://biochecknet.biosimulations.org/docs
bsvs-server
uses a microservices architecture which presents the following libraries:
gateway
: This library handles all requests including saving uploaded files, pending job creation, fetching results, and contains the user-facing endpoints.shared
: This library contains shared content.worker
: This library handles all job processing tasks for verification services such as job status adjustment, job retrieval, and comparison execution.
Container management is handled by Kubernetes in Google Cloud. The full K8 config/spec can be found in the kustomize
directory. Dependency management is handled by poetry
.
- This application currently uses MongoDB as the database store in which jobs are read/written. Database access is given to both the
api
andworker
libraries. Such database access is executed/implemented with the use of aSupervisor
singleton.