Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Score - Architecture
back to Score Project
The fundamental architecture of the project consists of:
- Worker - the unit that actually executes the steps from the execution plan. Execution logic is optimized for high throughput and is horizontally scalable.
- Orchestrator - a queue-based work distribution mechanism. Highly available and horizontally scalable.
- Persistency for cluster management - allowing a cluster of orchestrator and worker nodes. Optional for simple single-node deployments.
- Compiler - compiles a given flow format into an execution plan that can be executed by the workers. The introduction of a new flow formatting language is achieved by hooking the right compiler. Currently, we have an SLANG OOTB compiler (score language).
Note that score deployment has two flavors:
- Simple flavor - consists of a single-node deployment of orchestrator and worker in the same runtime container. No external DB is required.
- Distributed flavor - a highly available and scalable deployment that requires an external DB schema and a servlet container for hosting the orchestrator node(s).