Skip to content

Kartikay-0111/Veltrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veltrix - Distributed Benchmarking Platform

Veltrix is a distributed benchmarking platform for high-frequency trading engines. It securely hosts untrusted submissions, drives deterministic load with a C++ bot fleet, aggregates telemetry with event-time correctness checks, and streams a live leaderboard.

This repository is organized as a monorepo. The production services live under veltrix/.

Quick Navigation

System Purpose

Veltrix provides a safe, reproducible environment to benchmark contestant orderbooks/matching engines under heavy load while enforcing correctness (price-time priority) and fairness (resource isolation). The platform is designed for local docker-compose development and for production-scale orchestration in the future.

High-Level Architecture

flowchart LR
	A[Submission Service] --> B[MinIO Object Storage]
	A --> C[(Postgres)]
	A --> D[Redis Queue]
	D --> E[Sandbox Manager]
	E --> F[Contestant Sandbox]
	E --> G[Bot Fleet]
	G --> H[gRPC Telemetry Ingester]
	H --> I[Redpanda Topics]
	I --> J[Artifact Checker]
	J --> C
	J --> K[Redis Leaderboard]
	K --> L[Leaderboard Service]
Loading

Tech Stack

  • Go (submission-service, sandbox-manager)
  • C++20 with Boost.Asio io_uring (bot-fleet)
  • Go (telemetry-ingester, artifact-checker, leaderboard-service)
  • PostgreSQL (metadata, leaderboard metrics)
  • Redis (queues, leaderboard cache/pubsub)
  • MinIO (submission artifacts)
  • Redpanda (Kafka-compatible event bus)
  • Docker + docker-compose (local dev)

Microservices Overview

Service Path Purpose Ports
Submission Service veltrix/submission-service Ingests submissions, stores artifacts, enqueues sandbox jobs. 8080
Sandbox Manager veltrix/sandbox-manager Builds and runs contestant sandboxes, triggers benchmarks. 8081 (health)
Bot Fleet veltrix/bot-fleet High-concurrency load generator with gRPC telemetry. 7070
Telemetry Ingester veltrix/telemetry-ingester Accepts gRPC telemetry, publishes to Redpanda. 8090, 8091
Artifact Checker veltrix/artifact-checker Reorders events, validates correctness, aggregates metrics. 8092 (health)
Leaderboard Service veltrix/leaderboard-service Web UI + WebSocket broadcaster for live rankings. 8085

Repository Layout

.
├── veltrix/                 # All microservices
├── docs/                    # Onboarding and technical debt docs
├── SETUP.md
├── RUNNING.md
├── TROUBLESHOOTING.md
└── ARCHITECTURE.md

About

Veltrix is a distributed benchmarking platform for high-frequency trading engines.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors