V-Queue
Simple file based queue implementation in Rust with Java bindings and network server.
Components
Core Library (v-queue)
Fast file-based message queue with the following features:
- High-performance sequential file I/O
- CRC32 integrity checking
- Automatic partitioning
- Consumer offset management
- Thread-safe concurrent access
- Java bindings via JNI
Network Server (v-queue-server)
NEW: HTTP/REST API server providing consumer endpoints for the v-queue system.
Features:
- RESTful HTTP API
- Consumer endpoints with automatic offset management
- Administrative endpoints for queue/consumer management
- Health monitoring
- JSON message format
- Multiple concurrent consumers per queue
- Cross-platform compatibility
- Note: Message production requires direct library access (no HTTP producer API)
Quick Start
Build Core Library
Build and Run Network Server
API Examples
# Health check (no auth required)
# List available queues (auth required if enabled)
# Consume messages from existing queue
# Commit consumer position
# Get queue information
Note: If authentication is disabled (auth_enabled = false or --no-auth), you can omit the -u admin:password part.
Documentation
- Network Server Documentation - Complete API reference and client examples
- Java Examples - JNI usage examples
Performance
- High Throughput: Optimized for sequential disk I/O
- Low Latency: Direct file access without additional layers
- Persistence: All data durably stored on disk
- Recovery: Automatic crash recovery and consistency
License
MIT License - see LICENSE file for details.