A groundbreaking multi-language control-plane and data orchestration system that unifies Rust's performance, Java's reliability, and React's interactivity into one cohesive architecture.
- Overview
- Architecture
- Key Features
- Tech Stack
- Getting Started
- Project Structure
- Usage
- Deployment
- Roadmap
- Contributing
- License
- Contact
CerebraLake is a modular, real-time monitoring and control system designed for high-performance distributed environments. By integrating three powerful technologies, it delivers a seamless experience for data ingestion, orchestration, and visualization.
- π¦ Rust Core: Lightning-fast data processing and low-level system control
- β Java Control Plane: Enterprise-grade orchestration and coordination
- βοΈ React Dashboard: Beautiful, real-time system monitoring
Each layer operates independently while maintaining seamless integration through REST APIs and file-based discovery.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β React Dashboard β
β (Real-time Monitoring Interface) β
ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β REST API / WebSocket
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Java Control Plane (Spring Boot) β
β β’ Orchestration Logic β’ State Management β
β β’ Service Discovery β’ Health Monitoring β
ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β HTTP / File I/O
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Rust Core (Axum Server) β
β β’ High-throughput Data Ingestion β’ Metrics Collection β
β β’ Dynamic Port Allocation β’ Health Endpoints β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology | Primary Responsibility |
|---|---|---|
| π¦ Data Plane | Rust (Axum, Tokio) | Low-level data ingestion, processing, and real-time metric emission |
| β Control Plane | Spring Boot | Service coordination, orchestration, and state management |
| βοΈ Presentation | React + Vite | Real-time visualization and system monitoring |
- Dynamic port allocation with automatic service discovery
- Zero-configuration inter-service communication
- File-based port registry (
active_port.txt,java_active_port.txt)
- Live metrics dashboard with auto-refresh
- Health status indicators for all services
- Connection visualization and uptime tracking
- Seamless Rust β Java communication via REST
- React consumes metrics from both backend services
- Standard HTTP/REST patterns for universal compatibility
- Each component runs independently
- Automatic reconnection and service recovery
- No complex configuration required
- Structured logging across all layers
- Prometheus-compatible metrics endpoints
- Centralized health monitoring
| Component | Technologies | Purpose |
|---|---|---|
| Backend - Rust | Axum, Tokio, Serde, Hyper | High-performance async data plane |
| Backend - Java | Spring Boot, WebFlux, Maven | Reactive orchestration layer |
| Frontend | React 18, TypeScript, Vite, TailwindCSS | Modern, responsive UI |
| Integration | REST APIs, File I/O | Cross-language communication |
Ensure you have the following installed:
- Rust (1.70+) β Install Rust
- Java JDK (17+) β Adoptium JDK
- Maven (3.8+) β Install Maven
- Node.js (18+) β Download Node.js
Clone the repository:
git clone https://github.com/Jitterx69/CerebraLake.git
cd CerebraLake1. Start the Rust Core
cd rust-core
cargo runThe Rust service will:
- Automatically select a free port
- Write the port to
active_port.txt - Expose endpoints at
/metricsand/health
2. Start the Java Control Plane
cd java-controlplane
mvn spring-boot:runThe Java service will:
- Read Rust's port from
active_port.txt - Write its own port to
java_active_port.txt - Start the orchestration layer
3. Launch the React Dashboard
cd react-dashboard
npm install
npm run devOpen your browser at http://localhost:3000 to view the dashboard.
Use the provided startup script:
chmod +x run_all.sh
./run_all.shThis will start all three services in the correct order.
CerebraLake/
βββ rust-core/ # π¦ Rust data plane
β βββ src/
β β βββ main.rs
β βββ Cargo.toml
β βββ active_port.txt # Auto-generated port file
β
βββ java-controlplane/ # β Spring Boot orchestration
β βββ src/
β β βββ main/
β βββ pom.xml
β βββ java_active_port.txt # Auto-generated port file
β
βββ react-dashboard/ # βοΈ React monitoring UI
β βββ src/
β β βββ components/
β β βββ App.tsx
β β βββ main.tsx
β βββ package.json
β βββ vite.config.ts
β
βββ docker-compose.yml # Container orchestration
βββ run_all.sh # Startup script
βββ .gitignore
βββ LICENSE
βββ README.md
Once all services are running, navigate to:
http://localhost:3000
The dashboard displays:
- β Service health status
- π Active ports for Rust and Java services
- π Real-time system metrics
- π Last update timestamp
Rust Core (Dynamic Port - check active_port.txt)
GET /health # Health check
GET /metrics # Prometheus metrics
GET /active_port # Current port info
Java Control Plane (Dynamic Port - check java_active_port.txt)
GET /api/health # Health check
GET /api/state # Current system state
POST /api/control # Control operations
Deploy the entire stack with Docker:
version: '3.8'
services:
rust-core:
build: ./rust-core
ports:
- "8000:8000"
networks:
- cerebralake-net
java-controlplane:
build: ./java-controlplane
ports:
- "8080:8080"
depends_on:
- rust-core
networks:
- cerebralake-net
react-dashboard:
build: ./react-dashboard
ports:
- "3000:3000"
depends_on:
- java-controlplane
networks:
- cerebralake-net
networks:
cerebralake-net:
driver: bridgeRun with:
docker-compose up --build- Dynamic port allocation and discovery
- Real-time health monitoring
- Cross-language REST communication
- React-based visualization dashboard
- WebSocket support for real-time updates
- PostgreSQL integration for persistent storage
- Kafka-based message queue for telemetry
- Prometheus metrics exporter
- Grafana dashboard templates
- Kubernetes deployment manifests
- Authentication and authorization layer
- Circuit breaker patterns
- Distributed tracing with OpenTelemetry
This project is licensed under the MIT License - see the LICENSE file for details.
Mohit (Jitterx69)
- GitHub: @Jitterx69
- Email: [email protected]
- Project Link: https://github.com/Jitterx69/CerebraLake
Built by JitterX
A cross-language symphony of Rust π¦ + Java β + React βοΈ