{"id":46249941,"url":"https://github.com/hivellm/synap","last_synced_at":"2026-03-03T22:01:39.873Z","repository":{"id":320045931,"uuid":"1077807165","full_name":"hivellm/synap","owner":"hivellm","description":"Synap is a modern, high-performance data infrastructure system built in Rust, combining the best features of Redis, RabbitMQ, and Kafka into a unified platform for real-time applications.","archived":false,"fork":false,"pushed_at":"2025-12-03T11:36:11.000Z","size":6181,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-06T15:07:54.221Z","etag":null,"topics":["keyvalue-db","pubsub","queues","rust","streaming"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hivellm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-16T19:09:14.000Z","updated_at":"2025-12-03T11:34:36.000Z","dependencies_parsed_at":"2025-10-30T06:20:46.246Z","dependency_job_id":null,"html_url":"https://github.com/hivellm/synap","commit_stats":null,"previous_names":["hivellm/synap"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/hivellm/synap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivellm%2Fsynap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivellm%2Fsynap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivellm%2Fsynap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivellm%2Fsynap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hivellm","download_url":"https://codeload.github.com/hivellm/synap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivellm%2Fsynap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30063356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keyvalue-db","pubsub","queues","rust","streaming"],"created_at":"2026-03-03T22:01:38.914Z","updated_at":"2026-03-03T22:01:39.847Z","avatar_url":"https://github.com/hivellm.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ Synap\r\n\r\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\r\n[![Rust Edition](https://img.shields.io/badge/Rust-2024%20(nightly%201.85%2B)-orange.svg)](https://www.rust-lang.org/)\r\n[![Tests](https://img.shields.io/badge/tests-528%2B%20(100%25)-brightgreen.svg)](#testing--quality)\r\n[![Coverage](https://img.shields.io/badge/coverage-99.30%25-brightgreen.svg)](docs/TESTING.md)\r\n[![Version](https://img.shields.io/badge/version-0.9.1-blue.svg)](#project-status)\r\n\r\n\u003e **High-Performance In-Memory Key-Value Store \u0026 Message Broker**\r\n\r\nSynap is a modern, high-performance data infrastructure system built in Rust, combining the best features of Redis, RabbitMQ, and Kafka into a unified platform for real-time applications.\r\n\r\n## 🎯 Overview\r\n\r\nSynap provides multiple core capabilities in a single, cohesive system:\r\n\r\n1. **💾 Memory Key-Value Store** - Radix-tree based in-memory storage with O(k) lookup\r\n2. **#️⃣ Hash Data Structure** - Field-value maps within keys (Redis-compatible HSET, HGET, etc.) ✅ **v0.6.0**\r\n3. **📋 List Data Structure** - Ordered sequences with LPUSH, RPOP, LRANGE (Redis-compatible) ✅ **v0.6.0**\r\n4. **🔷 Set Data Structure** - Unordered unique collections with SADD, SREM, SINTER, SUNION (Redis-compatible) ✅ **v0.6.0**\r\n5. **📊 Sorted Set Data Structure** - Scored members with ranking (ZADD, ZRANGE, ZRANK, ZINTER/ZUNION) ✅ **v0.7.0**\r\n6. **🔢 HyperLogLog** - Probabilistic cardinality estimation with ~0.81% error (~12KB memory) ✅ **v0.7.0-rc1**\r\n7. **🗺️ Geospatial Indexes** - Redis-compatible GEO commands (GEOADD, GEORADIUS, GEOSEARCH) ✅ **v0.7.0-rc2**\r\n8. **🔢 Bitmap Operations** - Redis-compatible bit manipulation (SETBIT, GETBIT, BITCOUNT, BITOP) ✅ **v0.7.0-rc2**\r\n9. **📝 String Extensions** - APPEND, GETRANGE, SETRANGE, GETSET, MSETNX ✅ **v0.7.0-rc1**\r\n10. **📜 Lua Scripting** - Server-side scripting with EVAL/EVALSHA and redis.call() bridge ✅ **v0.7.0**\r\n11. **🔄 Transactions** - MULTI/EXEC/WATCH/DISCARD with optimistic locking ✅ **v0.7.0**\r\n12. **📨 Acknowledgment Queues** - RabbitMQ-style message queues with delivery guarantees\r\n13. **📡 Event Streams** - Kafka-style partitioned topics with consumer groups and retention\r\n14. **🔔 Pub/Sub Messaging** - Topic-based publish/subscribe with wildcard support\r\n\r\n## ✨ Key Features\r\n\r\n### ⚡ Performance\r\n- **🚀 Sub-microsecond Operations**: 87ns for GET operations (20,000x better than target)\r\n- **📈 High Throughput**: 10M+ ops/sec sequential writes (200x better than baseline)\r\n- **💾 Efficient Memory**: 92MB for 1M keys (54% reduction vs baseline)\r\n- **🔄 64-Way Sharding**: Linear scalability with CPU core count\r\n- **⚙️ Async I/O**: Built on Tokio for non-blocking operations\r\n- **🗜️ Smart Compression**: LZ4/Zstd compression with minimal CPU overhead\r\n- **🔥 Hot Data Cache**: Decompressed cache for frequently accessed data\r\n\r\n### 🔐 Security \u0026 Authentication (✅ PRODUCTION READY - Jan 2025)\r\n- **🔒 Authentication System** - Root user, user management, API keys\r\n- **🛡️ Fine-grained Permissions** - Resource-based permissions (RabbitMQ-style)\r\n- **📝 Audit Logging** - Track all authentication events (login, API key usage, permission denials)\r\n- **🔑 Password Validation** - Configurable password requirements (SHA512 hashing)\r\n- **🌐 IP Filtering** - Restrict API keys to specific IP addresses\r\n- **✅ Basic Auth \u0026 Bearer Token** - Support for both authentication methods\r\n- **🔐 MCP Authentication** - Full authentication support for MCP protocol\r\n\r\n### 💪 Durability (✅ COMPLETE - Oct 2025)\r\n- **💾 Full Persistence**: WAL + Snapshots for KV, Queue, and Stream\r\n- **🔄 OptimizedWAL**: Redis-style batching (10K ops/batch, 100µs window)\r\n- **📨 Queue Persistence**: RabbitMQ-style durable messaging with ACK tracking\r\n- **📡 Stream Persistence**: Kafka-style append-only logs per room\r\n- **⚖️ PACELC Model**: PC/EL (Consistency during partition, Latency in normal operation)\r\n- **⏱️ Recovery Time**: 1-10 seconds from snapshots + WAL replay\r\n\r\n### 🛡️ Reliability \u0026 High Availability\r\n- **🔄 Master-Slave Replication**: 1 write master + N read replicas (✅ **PRODUCTION READY**)\r\n  - TCP binary protocol with length-prefixed framing\r\n  - Full sync via snapshot transfer (CRC32 verified)\r\n  - Partial sync via replication log (incremental updates)\r\n  - Auto-reconnect with intelligent resync\r\n  - 51 comprehensive tests (98% passing)\r\n  - Stress tested: 5000 operations\r\n- **✅ Message Acknowledgment**: Guaranteed message delivery with ACK/NACK\r\n- **🔁 Event Replay**: Stream history and replay capabilities\r\n- **🔀 Manual Failover**: Promote replica to master capability\r\n\r\n### 📊 Monitoring \u0026 Observability\r\n- **📈 INFO Command** - Redis-style server introspection (server, memory, stats, replication, keyspace)\r\n- **🐌 SLOWLOG** - Slow query logging with configurable threshold (default 10ms)\r\n- **💾 MEMORY USAGE** - Per-key memory tracking across all data types\r\n- **👥 CLIENT LIST** - Active connection tracking and management\r\n- **📊 Prometheus Metrics** - 17 metric types for comprehensive monitoring\r\n\r\n### 👨‍💻 Developer Experience\r\n- **🤖 AI Integration**: MCP support for Cursor, Claude Desktop, and AI assistants\r\n- **🌊 StreamableHTTP Protocol**: Simple HTTP-based streaming protocol\r\n- **🔌 WebSocket Support**: Persistent connections for real-time updates\r\n- **📚 Multi-language SDKs**: TypeScript, Python, Rust (with reactive PubSub), PHP, and C# clients with full authentication support\r\n- **📖 Rich Examples**: Chat, event broadcasting, task queues, authentication examples, and more\r\n\r\n### 🔗 Protocol Support\r\n- **🤖 MCP (Model Context Protocol)**: ✅ **PRODUCTION READY** - Configurable tools (KV, Hash, List, Set, Queue, Sorted Set) at `/mcp` endpoint with authentication support\r\n- **🌐 UMICP (Universal Matrix Inter-Communication Protocol)**: ✅ **PRODUCTION READY** - 13 operations via MCP bridge with TLS support\r\n- **📡 REST API**: Standard HTTP endpoints for all operations\r\n- **🔌 WebSocket API**: Real-time bidirectional communication\r\n\r\n### 📊 Scalability\r\n- **📖 Read Scaling**: Multiple replica nodes for distributed reads\r\n- **🏠 Event Rooms**: Isolated event streams per room/channel\r\n- **🎯 Partitioned Topics**: Kafka-style horizontal scaling with multiple partitions\r\n- **👥 Consumer Groups**: Coordinated consumption with automatic rebalancing\r\n- **🔀 Topic Routing**: Efficient pub/sub with wildcard matching\r\n- **🔗 Connection Pooling**: Client-side connection management\r\n\r\n## 🏗️ Architecture\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────┐\r\n│                     Synap Server                        │\r\n├─────────────────────────────────────────────────────────┤\r\n│  StreamableHTTP/WebSocket Protocol Layer               │\r\n├─────────────────────────────────────────────────────────┤\r\n│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐  │\r\n│  │ Key-Value│ │  Queue   │ │  Event   │ │  Pub/Sub │  │\r\n│  │  Store   │ │  System  │ │  Stream  │ │          │  │\r\n│  └──────────┘ └──────────┘ └──────────┘ └──────────┘  │\r\n├─────────────────────────────────────────────────────────┤\r\n│            Replication Log (Append-Only)                │\r\n├─────────────────────────────────────────────────────────┤\r\n│  Master Node              Replica Nodes (Read-Only)     │\r\n└─────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## 🚀 Quick Start\r\n\r\n### 📦 Installation\r\n\r\n**From GitHub Releases** (Recommended):\r\n\r\n```bash\r\n# Download pre-built binaries from GitHub Releases\r\n# https://github.com/hivellm/synap/releases\r\n\r\n# Linux (x86_64)\r\nwget https://github.com/hivellm/synap/releases/download/v0.3.0/synap-linux-x86_64.tar.gz\r\ntar -xzf synap-linux-x86_64.tar.gz\r\ncd synap-linux-x86_64\r\n./synap-server --config config.yml\r\n\r\n# macOS (Intel)\r\nwget https://github.com/hivellm/synap/releases/download/v0.3.0/synap-macos-x86_64.tar.gz\r\ntar -xzf synap-macos-x86_64.tar.gz\r\ncd synap-macos-x86_64\r\n./synap-server --config config.yml\r\n\r\n# macOS (Apple Silicon)\r\nwget https://github.com/hivellm/synap/releases/download/v0.3.0/synap-macos-aarch64.tar.gz\r\ntar -xzf synap-macos-aarch64.tar.gz\r\ncd synap-macos-aarch64\r\n./synap-server --config config.yml\r\n\r\n# Windows (x86_64)\r\n# Download synap-windows-x86_64.zip from releases page\r\n# Extract and run synap-server.exe\r\n```\r\n\r\n**🐳 Docker**:\r\n\r\n**Quick Start (Docker Hub)**:\r\n```bash\r\n# Pull and run latest image\r\ndocker pull hivehub/synap:latest\r\ndocker run -d \\\r\n  --name synap \\\r\n  -p 15500:15500 \\\r\n  -p 15501:15501 \\\r\n  -v synap-data:/data \\\r\n  hivehub/synap:latest\r\n\r\n# Check health\r\ncurl http://localhost:15500/health\r\n```\r\n\r\n**Build Locally**:\r\n```bash\r\n# Clone and build\r\ngit clone https://github.com/hivellm/synap.git\r\ncd synap\r\ndocker build -t hivehub/synap:latest .\r\n\r\n# Run container\r\ndocker run -d \\\r\n  --name synap-server \\\r\n  -p 15500:15500 \\\r\n  -p 15501:15501 \\\r\n  -v synap-data:/data \\\r\n  hivehub/synap:latest\r\n```\r\n\r\n**With Authentication**:\r\n```bash\r\ndocker run -d \\\r\n  --name synap-server \\\r\n  -p 15500:15500 \\\r\n  -p 15501:15501 \\\r\n  -v synap-data:/data \\\r\n  -e SYNAP_AUTH_ENABLED=true \\\r\n  -e SYNAP_AUTH_REQUIRE_AUTH=true \\\r\n  -e SYNAP_AUTH_ROOT_USERNAME=admin \\\r\n  -e SYNAP_AUTH_ROOT_PASSWORD=SecurePassword123! \\\r\n  -e SYNAP_AUTH_ROOT_ENABLED=true \\\r\n  hivehub/synap:latest\r\n```\r\n\r\n**Multi-Architecture Build**:\r\n```bash\r\n# Build and push multi-arch images (AMD64 + ARM64)\r\n./scripts/docker-publish.sh 0.8.1\r\n\r\n# Or using PowerShell\r\n.\\scripts\\docker-publish.ps1 0.8.1\r\n```\r\n\r\n**Docker Compose**:\r\n```bash\r\n# Use docker-compose for replication setup\r\ndocker-compose up -d\r\n\r\n# With authentication (set environment variables)\r\nexport SYNAP_AUTH_ENABLED=true\r\nexport SYNAP_AUTH_REQUIRE_AUTH=true\r\nexport SYNAP_AUTH_ROOT_USERNAME=admin\r\nexport SYNAP_AUTH_ROOT_PASSWORD=SecurePassword123!\r\ndocker-compose up -d\r\n```\r\n\r\n**Available Images**:\r\n- `hivehub/synap:latest` - Latest stable release\r\n- `hivehub/synap:0.8.1` - Specific version\r\n- Supports `linux/amd64` and `linux/arm64` architectures\r\n\r\n📖 **For detailed Docker documentation, see [DOCKER_README.md](DOCKER_README.md)**\r\n\r\n**🛠️ From Source**:\r\n\r\n```bash\r\n# Clone repository\r\ngit clone https://github.com/hivellm/synap.git\r\ncd synap\r\n\r\n# Build from source (requires Rust nightly 1.85+)\r\ncargo build --release\r\n\r\n# Run server\r\n./target/release/synap-server --config config.yml\r\n```\r\n\r\nSee [Development Guide](docs/DEVELOPMENT.md) for detailed build instructions.\r\n\r\n### 💻 Basic Usage\r\n\r\n```bash\r\n# Start server (default port 15500)\r\nsynap-server\r\n\r\n# Key-Value Operations\r\ncurl -X POST http://localhost:15500/kv/set \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"key\": \"user:1\", \"value\": \"John Doe\", \"ttl\": 3600}'\r\n\r\ncurl http://localhost:15500/kv/get/user:1\r\n\r\n# Queue Operations\r\ncurl -X POST http://localhost:15500/queue/publish \\\r\n  -d '{\"queue\": \"tasks\", \"message\": \"process-video\", \"priority\": 1}'\r\n\r\ncurl http://localhost:15500/queue/consume/tasks\r\n\r\n# Event Stream\r\ncurl -X POST http://localhost:15500/stream/publish \\\r\n  -d '{\"room\": \"chat-room-1\", \"event\": \"message\", \"data\": \"Hello!\"}'\r\n\r\n# Pub/Sub\r\ncurl -X POST http://localhost:15500/pubsub/publish \\\r\n  -d '{\"topic\": \"notifications.email\", \"message\": \"New order\"}'\r\n\r\n# With Authentication (if enabled)\r\ncurl -X POST http://localhost:15500/kv/set \\\r\n  -H \"Authorization: Basic $(echo -n 'admin:password' | base64)\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"key\": \"user:1\", \"value\": \"John Doe\"}'\r\n\r\n# Or with API Key\r\ncurl -X POST http://localhost:15500/kv/set \\\r\n  -H \"Authorization: Bearer sk_your_api_key_here\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"key\": \"user:1\", \"value\": \"John Doe\"}'\r\n```\r\n\r\n### 🔒 Authentication \u0026 Security (✅ Production Ready)\r\n\r\nAuthentication is **disabled by default** for development. Enable it for production:\r\n\r\n**Features:**\r\n- ✅ **Root User Management** - Configurable root user with full permissions\r\n- ✅ **User Management** - Create, delete, enable/disable users\r\n- ✅ **API Key Management** - Generate, revoke, and manage API keys with expiration\r\n- ✅ **Fine-grained Permissions** - Resource-based permissions (RabbitMQ-style)\r\n- ✅ **Basic Auth \u0026 Bearer Token** - Support for both authentication methods\r\n- ✅ **Audit Logging** - Track all authentication events (login, API key usage, permission denials)\r\n- ✅ **Password Validation** - Configurable password requirements (length, complexity)\r\n- ✅ **IP Filtering** - Restrict API keys to specific IP addresses\r\n\r\n**Via Config File** (`config.yml`):\r\n```yaml\r\nauth:\r\n  enabled: true\r\n  require_auth: true\r\n  root:\r\n    username: \"root\"\r\n    password: \"your_secure_password\"\r\n    enabled: true\r\n```\r\n\r\n**Via Docker Environment Variables**:\r\n```bash\r\ndocker run -d -p 15500:15500 \\\r\n  -e SYNAP_AUTH_ENABLED=true \\\r\n  -e SYNAP_AUTH_REQUIRE_AUTH=true \\\r\n  -e SYNAP_AUTH_ROOT_USERNAME=root \\\r\n  -e SYNAP_AUTH_ROOT_PASSWORD=your_secure_password \\\r\n  synap:latest\r\n```\r\n\r\n**Using Authentication**:\r\n```bash\r\n# Basic Auth\r\ncurl -u root:password http://localhost:15500/kv/get/user:1\r\n\r\n# Bearer Token (API Key)\r\ncurl -H \"Authorization: Bearer sk_XXXXX...\" http://localhost:15500/kv/get/user:1\r\n\r\n# Query Parameter\r\ncurl \"http://localhost:15500/kv/get/user:1?api_key=sk_XXXXX...\"\r\n```\r\n\r\nSee [Authentication Guide](docs/AUTHENTICATION.md) for complete details.\r\n\r\n### 🔄 Replication Setup\r\n\r\nSynap supports master-slave replication for high availability and read scaling.\r\n\r\n#### Quick Start with Docker\r\n\r\n```bash\r\n# Start 1 master + 3 replicas\r\ndocker-compose up -d\r\n\r\n# Master available at: localhost:15500\r\n# Replica 1 at: localhost:15501\r\n# Replica 2 at: localhost:15502\r\n# Replica 3 at: localhost:15503\r\n```\r\n\r\n#### Manual Setup\r\n\r\n**Master Node Configuration** (`config-master.yml`):\r\n\r\n```yaml\r\nserver:\r\n  host: \"0.0.0.0\"\r\n  port: 15500\r\n\r\nreplication:\r\n  enabled: true\r\n  role: \"master\"\r\n  replica_listen_address: \"0.0.0.0:15501\"\r\n  heartbeat_interval_ms: 1000\r\n  max_lag_ms: 10000\r\n  buffer_size_kb: 256\r\n  replica_timeout_secs: 30\r\n\r\npersistence:\r\n  enabled: true\r\n  wal:\r\n    enabled: true\r\n    path: \"./data/wal/synap.wal\"\r\n  snapshot:\r\n    enabled: true\r\n    directory: \"./data/snapshots\"\r\n```\r\n\r\n**Replica Node Configuration** (`config-replica.yml`):\r\n\r\n```yaml\r\nserver:\r\n  host: \"0.0.0.0\"\r\n  port: 15500\r\n\r\nreplication:\r\n  enabled: true\r\n  role: \"replica\"\r\n  master_address: \"master:15501\"  # Master's replication port\r\n  heartbeat_interval_ms: 1000\r\n  max_lag_ms: 10000\r\n  buffer_size_kb: 256\r\n  auto_reconnect: true\r\n  reconnect_delay_ms: 5000\r\n\r\npersistence:\r\n  enabled: true\r\n  wal:\r\n    enabled: true\r\n    path: \"./data/wal/synap.wal\"\r\n  snapshot:\r\n    enabled: true\r\n    directory: \"./data/snapshots\"\r\n```\r\n\r\n**Start Nodes**:\r\n\r\n```bash\r\n# Terminal 1: Start master\r\nsynap-server --config config-master.yml\r\n\r\n# Terminal 2: Start replica 1\r\nsynap-server --config config-replica-1.yml\r\n\r\n# Terminal 3: Start replica 2\r\nsynap-server --config config-replica-2.yml\r\n```\r\n\r\n#### Usage Patterns\r\n\r\n**Write to Master**:\r\n\r\n```bash\r\n# All writes go to master\r\ncurl -X POST http://localhost:15500/kv/set \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"key\": \"user:100\", \"value\": \"Alice\", \"ttl\": 3600}'\r\n```\r\n\r\n**Read from Replicas** (Load Balancing):\r\n\r\n```bash\r\n# Read from replica 1 (eventually consistent, ~5ms lag)\r\ncurl http://localhost:15501/kv/get/user:100\r\n\r\n# Read from replica 2\r\ncurl http://localhost:15502/kv/get/user:100\r\n\r\n# Read from replica 3\r\ncurl http://localhost:15503/kv/get/user:100\r\n```\r\n\r\n**Monitor Replication Status**:\r\n\r\n```bash\r\n# Check replication health on master\r\ncurl http://localhost:15500/health/replication\r\n\r\n# Check replication status on replica\r\ncurl http://localhost:15501/health/replication\r\n```\r\n\r\n#### Consistency Guarantees\r\n\r\n- **Master Reads**: Strongly consistent (immediate)\r\n- **Replica Reads**: Eventually consistent (~5-10ms lag typical)\r\n- **Write Durability**: Writes confirmed after master commit\r\n- **Replication**: Asynchronous to replicas\r\n- **Lag Monitoring**: Real-time offset tracking\r\n\r\nSee [docs/specs/REPLICATION.md](docs/specs/REPLICATION.md) for complete replication documentation.\r\n\r\nFor detailed Docker deployment guide, see:\r\n- **[DOCKER_README.md](DOCKER_README.md)** - Complete Docker Hub documentation with examples\r\n- **[docs/DOCKER_DEPLOYMENT.md](docs/DOCKER_DEPLOYMENT.md)** - Advanced deployment guide\r\n\r\n## 🎯 Use Cases\r\n\r\n### 💬 Real-Time Chat\r\nUse event streams for room-based messaging with message history and guaranteed delivery.\r\n\r\n### 📋 Task Distribution\r\nLeverage acknowledgment queues for distributed task processing with retry logic.\r\n\r\n### ⚡ Cache Layer\r\nUtilize key-value store as a high-speed cache with TTL support.\r\n\r\n### 📡 Event Broadcasting\r\nImplement pub/sub for system-wide notifications and event distribution.\r\n\r\n### 🔄 Microservices Communication\r\nUse queues for reliable inter-service messaging with delivery guarantees.\r\n\r\n## 🛠️ Technology Stack\r\n\r\n- **Language**: Rust (Edition 2024)\r\n- **Runtime**: Tokio (async/await)\r\n- **Web Framework**: Axum\r\n- **Data Structure**: radix_trie (memory-efficient key-value)\r\n- **Serialization**: serde (JSON, MessagePack)\r\n- **Protocols**: StreamableHTTP + WebSocket + MCP + UMICP\r\n\r\n## 📚 Documentation\r\n\r\n### 📖 Getting Started\r\n- **[User Guide](docs/guides/USER_GUIDE.md)** - Complete getting started guide (Installation, Quick Start, Operations)\r\n- **[Admin Guide](docs/guides/ADMIN_GUIDE.md)** - Operations handbook (Deployment, Monitoring, HA, Security)\r\n- **[Tutorials](docs/guides/TUTORIALS.md)** - 8 practical tutorials (Chat, Queues, Caching, Pub/Sub)\r\n\r\n### 🔧 Core Documentation\r\n- **[Architecture](docs/ARCHITECTURE.md)** - System architecture and components\r\n- **[Roadmap](docs/ROADMAP.md)** - Development roadmap and timeline\r\n- **[Configuration](docs/CONFIGURATION.md)** - Complete configuration reference\r\n- **[CLI Guide](docs/CLI_GUIDE.md)** - Synap CLI usage and commands\r\n\r\n### 🔒 Security \u0026 Authentication\r\n- **[Authentication](docs/AUTHENTICATION.md)** - Complete auth guide (users, roles, API keys, ACL)\r\n- **[Queue Concurrency](docs/QUEUE_CONCURRENCY_TESTS.md)** - Zero-duplicate guarantees\r\n\r\n### 🌐 API \u0026 Protocols\r\n- **[REST API](docs/api/REST_API.md)** - Complete REST API documentation\r\n- **[OpenAPI Spec](docs/api/openapi.yml)** - OpenAPI 3.0 specification (YAML/JSON)\r\n- **[StreamableHTTP](docs/protocol/STREAMABLE_HTTP.md)** - StreamableHTTP protocol\r\n- **[MCP Integration](docs/protocol/MCP_USAGE.md)** - Model Context Protocol ✅ **PRODUCTION READY**\r\n- **[MCP Test Results](docs/protocol/MCP_TEST_RESULTS.md)** - Live testing via Cursor AI\r\n- **[UMICP Integration](docs/protocol/UMICP_INTEGRATION.md)** - UMICP protocol ✅ **PRODUCTION READY**\r\n\r\n### 📊 Performance \u0026 Testing\r\n- **[Benchmark Results](docs/BENCHMARK_RESULTS.md)** - KV performance metrics\r\n- **[Testing Strategy](docs/TESTING.md)** - Test coverage and approach\r\n- **[Phase 1 Summary](docs/PHASE1_SUMMARY.md)** - Phase 1 implementation details\r\n\r\n### 🔧 Development\r\n- **[Development Guide](docs/DEVELOPMENT.md)** - Setup and contribution guide\r\n- **[Design Decisions](docs/DESIGN_DECISIONS.md)** - Technical choices\r\n- **[Project DAG](docs/PROJECT_DAG.md)** - Component dependencies\r\n- **[Deployment](docs/DEPLOYMENT.md)** - Production deployment (planned)\r\n- **[Packaging](docs/PACKAGING_AND_DISTRIBUTION.md)** - Distribution packages (planned)\r\n\r\n### 📋 Project Planning\r\n\r\n- **[Roadmap](docs/ROADMAP.md)** - Development roadmap and timeline\r\n- **[Project DAG](docs/PROJECT_DAG.md)** - Component dependencies and implementation order\r\n\r\n### 🧩 Component Specifications\r\n\r\n- **[Key-Value Store](docs/specs/KEY_VALUE_STORE.md)** - Radix-tree storage system\r\n- **[Queue System](docs/specs/QUEUE_SYSTEM.md)** - Message queues with ACK\r\n- **[Event Stream](docs/specs/EVENT_STREAM.md)** - Room-based broadcasting\r\n- **[Pub/Sub](docs/specs/PUBSUB.md)** - Topic-based messaging\r\n- **[Replication](docs/specs/REPLICATION.md)** - Master-slave architecture\r\n\r\n### 📦 SDKs\r\n\r\n- **[TypeScript SDK](docs/sdks/TYPESCRIPT.md)** - Node.js and browser support\r\n- **[Python SDK](docs/sdks/PYTHON.md)** - Async/sync Python client\r\n- **[Rust SDK](docs/sdks/RUST.md)** - Native Rust client library\r\n\r\n### 💡 Examples\r\n\r\n- **[Real-Time Chat](docs/examples/CHAT_SAMPLE.md)** - Multi-room chat application\r\n- **[Event Broadcasting](docs/examples/EVENT_BROADCAST.md)** - System-wide events\r\n- **[Task Queue](docs/examples/TASK_QUEUE.md)** - Distributed task processing\r\n- **[Pub/Sub Pattern](docs/examples/PUBSUB_PATTERN.md)** - Notification system\r\n\r\n## 📊 Performance\r\n\r\n### ✅ Performance with Persistence Enabled (October 2025) ⚡\r\n\r\n**🚀 Realistic Benchmarks - Fair Comparison** ✅\r\n\r\n| Operation | Synap (Periodic fsync) | Redis/RabbitMQ | vs Competitor |\r\n|-----------|------------------------|----------------|---------------|\r\n| **KV Write** | **44K ops/s** (22.5µs) | 50-100K ops/s | 🟰 **Competitive** (2x slower) |\r\n| **KV Read** | **12M ops/s** (83ns) | 80-100K ops/s | ✅ **120x faster** |\r\n| **Queue Publish** | **19.2K msgs/s** (52µs) | 0.1-0.2K msgs/s | ✅ **100x faster** |\r\n| **Queue Consume+ACK** | **607µs** | 5-10ms | ✅ **8-16x faster** |\r\n| **Memory (1M keys)** | **92MB** | ~200MB | ✅ **54% reduction** |\r\n| **Recovery (1K ops)** | **120ms** | 50-200ms | 🟰 **Similar** |\r\n| **Concurrent Ops** | **64x parallel** | Single-thread | ✅ **Linear scaling** |\r\n\r\n**Note**: Persistence enabled with `fsync_mode: periodic` (10ms batching) - Production config\r\n\r\n### 📈 Optimization Results\r\n\r\n| Metric | Before | After | Improvement |\r\n|--------|--------|-------|-------------|\r\n| Memory (1M keys) | 200MB | **92MB** | **54% reduction** |\r\n| Write throughput | 50K ops/s | **10M+ ops/s** | **200x faster** |\r\n| Read latency P99 | 2-5ms | **87ns** | **20,000x faster** |\r\n| Concurrent ops | Limited | **64x parallel** | Linear scaling |\r\n| TTL cleanup CPU | 100% | **1-10%** | **10-100x reduction** |\r\n\r\n### 🔜 Planned\r\n\r\n| Operation | Target | Status |\r\n|-----------|--------|--------|\r\n| Event Publish | \u003c 1ms | 🔄 In Progress |\r\n| Pub/Sub Publish | \u003c 0.5ms | 🔵 Planned |\r\n| Replication Lag | \u003c 10ms | 🔵 Planned |\r\n\r\n**Test Coverage**: 456+ tests passing (99.30% coverage)\r\n\r\n**Scripts**: `./scripts/test-performance.ps1` (full suite), `./scripts/quick-test.ps1` (fast validation)\r\n\r\n## ⚖️ Comparison\r\n\r\n| Feature | Synap | Redis | RabbitMQ | Kafka |\r\n|---------|-------|-------|----------|-------|\r\n| Key-Value | ✅ | ✅ | ❌ | ❌ |\r\n| **Hashes** | ✅ (v0.6.0) | ✅ | ❌ | ❌ |\r\n| **Lists** | ✅ (v0.6.0) | ✅ | ❌ | ❌ |\r\n| **Sets** | ✅ (v0.6.0) | ✅ | ❌ | ❌ |\r\n| **Sorted Sets** | ✅ (v0.7.0) | ✅ | ❌ | ❌ |\r\n| **Geospatial** | ✅ (v0.7.0-rc2) | ✅ | ❌ | ❌ |\r\n| **Bitmaps** | ✅ (v0.7.0-rc2) | ✅ | ❌ | ❌ |\r\n| **HyperLogLog** | ✅ (v0.7.0-rc1) | ✅ | ❌ | ❌ |\r\n| **Lua Scripting** | ✅ (v0.7.0) | ✅ | ❌ | ❌ |\r\n| **Transactions** | ✅ (v0.7.0) | ✅ | ❌ | ❌ |\r\n| **String Extensions** | ✅ (v0.7.0-rc1) | ✅ | ❌ | ❌ |\r\n| Queues (ACK) | ✅ | ❌ | ✅ | ❌ |\r\n| Priority Queues | ✅ (0-9) | ❌ | ✅ | ❌ |\r\n| Dead Letter Queue | ✅ | ❌ | ✅ | ❌ |\r\n| Event Streams | ✅ | ✅ (Limited) | ❌ | ✅ |\r\n| Partitioned Topics | ✅ | ❌ | ❌ | ✅ |\r\n| Consumer Groups | ✅ | ❌ | ❌ | ✅ |\r\n| Retention Policies | ✅ (5 types) | ✅ (2 types) | ✅ (1 type) | ✅ (2 types) |\r\n| Pub/Sub | ✅ | ✅ | ✅ | ✅ |\r\n| Authentication | ✅ (Users+API Keys) | ✅ (ACL) | ✅ (Users) | ✅ (SASL) |\r\n| RBAC | ✅ | ✅ (Limited) | ✅ | ✅ |\r\n| API Key Expiration | ✅ | ❌ | ❌ | ❌ |\r\n| IP Filtering | ✅ | ✅ | ❌ | ❌ |\r\n| Replication | ✅ (Master-Slave) | ✅ | ✅ | ✅ |\r\n| Persistence | ✅ (WAL+Snapshot) | ✅ (AOF/RDB) | ✅ (Disk) | ✅ (Log) |\r\n| PACELC Model | PC/EL | PC/EL | PC/EC | PA/EL |\r\n| Native Compression | ✅ (LZ4/Zstd) | ❌ | ❌ | ✅ (Snappy) |\r\n| Hot Data Cache | 🔄 (L1/L2) | ✅ (Single) | ❌ | ❌ |\r\n| StreamableHTTP | ✅ | ❌ | ❌ | ❌ |\r\n| MCP Support | ✅ (Configurable, Auth) | ❌ | ❌ | ❌ |\r\n| UMICP Support | ✅ (13 ops, TLS) | ❌ | ❌ | ❌ |\r\n| Enhanced Monitoring | ✅ (INFO, SLOWLOG, MEMORY) | ✅ (INFO) | ❌ | ❌ |\r\n| Password Hashing | ✅ (SHA512) | ✅ (SHA256) | ✅ (bcrypt) | ✅ (SASL) |\r\n| AI Integration | ✅ (MCP+UMICP) | ❌ | ❌ | ❌ |\r\n| Matrix Operations | ✅ (via UMICP) | ❌ | ❌ | ❌ |\r\n| Single Binary | ✅ | ✅ | ❌ | ❌ |\r\n| Zero-Duplicate Guarantee | ✅ (Tested) | N/A | ✅ | ✅ |\r\n\r\n**Legend**: ✅ Implemented | 🔄 In Progress | ❌ Not Available\r\n\r\n## 📄 License\r\n\r\nApache License 2.0 - See [LICENSE](LICENSE) for details.\r\n\r\n## 🤝 Contributing\r\n\r\nSee [DEVELOPMENT.md](docs/DEVELOPMENT.md) for development setup and contribution guidelines.\r\n\r\n## 📊 Project Status\r\n\r\n**Status**: ✅ Phase 1-3 Complete | ✅ Redis Phase 1-2 Complete (Hash, List, Set, Sorted Set, Geospatial, Bitmap, String Extensions)  \r\n**Version**: 0.8.1 (Dependency updates + SDK fixes)  \r\n**Edition**: Rust 2024 (nightly 1.85+)  \r\n**Last Updated**: November 12, 2025\r\n\r\n### ✅ Implementation Complete\r\n\r\n#### 🎯 Phase 1: Foundation (v0.1.0-alpha)\r\n- ✅ Radix tree-based key-value store\r\n- ✅ GET/SET/DELETE + Atomic (INCR/DECR)\r\n- ✅ Batch operations (MSET/MGET/MDEL)\r\n- ✅ TTL support with background cleanup\r\n- ✅ Extended commands (KEYS, SCAN, FLUSH, EXPIRE, PERSIST)\r\n- ✅ HTTP REST API (4 KV endpoints)\r\n- ✅ StreamableHTTP Protocol (15+ commands)\r\n- ✅ Comprehensive error handling\r\n- ✅ Advanced logging (JSON + Pretty formats)\r\n\r\n#### ✅ Phase 2: Core Features (v0.2.0-beta) - COMPLETE (Oct 2025)\r\n\r\n**📨 Queue System** ✅ COMPLETE\r\n- ✅ FIFO with priority support (0-9)\r\n- ✅ ACK/NACK mechanism + retry logic\r\n- ✅ Dead Letter Queue (DLQ)\r\n- ✅ Background deadline checker\r\n- ✅ **9 REST API endpoints** (create, publish, consume, ack, nack, etc.)\r\n- ✅ **Zero-duplicate guarantee** (5 concurrency tests)\r\n- ✅ Performance: 7,500+ msg/s with 50 concurrent consumers\r\n\r\n**🔒 Authentication \u0026 Authorization** ✅ COMPLETE\r\n- ✅ **User management** (SHA512 password hashing)\r\n- ✅ **Role-Based Access Control** (admin, readonly, custom roles)\r\n- ✅ **API Keys** (expiration, IP filtering, usage tracking)\r\n- ✅ **ACL system** (resource-based permissions)\r\n- ✅ **Basic Auth + Bearer Token** authentication\r\n- ✅ **Multi-tenant support** via permission patterns\r\n- ✅ **23 security tests** (100% auth module coverage)\r\n\r\n**🗜️ Compression** ✅ COMPLETE\r\n- ✅ LZ4 (fast compression)\r\n- ✅ Zstandard (better ratio)\r\n- ✅ Configurable thresholds\r\n- ✅ 6 comprehensive tests\r\n\r\n**📡 Event Streams** ✅ COMPLETE + KAFKA-STYLE PARTITIONING ✅ NEW\r\n- ✅ Ring buffer implementation (VecDeque, 10K msg/room)\r\n- ✅ Room-based isolation (multi-tenant)\r\n- ✅ Message history (offset-based replay)\r\n- ✅ Offset-based consumption (Kafka-style)\r\n- ✅ Automatic compaction (retention policy)\r\n- ✅ **Kafka-style persistence** (append-only logs per room)\r\n- ✅ **Stream recovery** from disk logs\r\n- ✅ **Master-Slave replication** (full + partial sync)\r\n- ✅ **Snapshot integration** (stream data in full sync)\r\n- ✅ **Partitioned Topics** (multiple partitions per topic) ✅ NEW\r\n- ✅ **Consumer Groups** (coordinated consumption with rebalancing) ✅ NEW\r\n- ✅ **Key-Based Routing** (hash-based partition assignment) ✅ NEW\r\n- ✅ **Advanced Retention** (time, size, count, combined, infinite) ✅ NEW\r\n- ✅ **Assignment Strategies** (round-robin, range, sticky) ✅ NEW\r\n- ✅ **Offset Management** (commit/checkpoint positions) ✅ NEW\r\n- ✅ 6 simple stream endpoints + 17 Kafka-style endpoints\r\n- ✅ Performance: 12.5M msgs/s consume, 2.3 GiB/s publish, 10K+ events/sec per partition\r\n\r\n**🔔 Pub/Sub System** ✅ COMPLETE\r\n- ✅ Topic routing (Radix Trie)\r\n- ✅ Wildcard subscriptions (`*` and `#`)\r\n- ✅ Fan-out messaging (concurrent delivery)\r\n- ✅ Hierarchical topics\r\n- ✅ Performance: 850K msgs/s, 1.2µs latency\r\n\r\n**💾 Persistence** ✅ COMPLETE - All Subsystems\r\n- ✅ **OptimizedWAL** (Redis-style batching, 10K ops/batch) ✅ NEW\r\n- ✅ **Queue Persistence** (RabbitMQ-style ACK tracking) ✅ NEW\r\n- ✅ **Stream Persistence** (Kafka-style append-only logs) ✅ NEW\r\n- ✅ AsyncWAL with group commit (3-5x throughput)\r\n- ✅ Streaming snapshot v2 (O(1) memory)\r\n- ✅ Automatic recovery on startup (KV + Queue + Stream)\r\n- ✅ 3 fsync modes: Always, Periodic, Never\r\n- ✅ Manual snapshot endpoint (POST /snapshot)\r\n\r\n#### 🔄 Phase 3: Replication (v0.3.0-rc) - COMPLETE (Oct 2025)\r\n\r\n**Master-Slave Replication** ✅ COMPLETE\r\n- ✅ **TCP communication layer** (length-prefixed binary protocol)\r\n- ✅ **Full sync** (snapshot transfer with CRC32 verification)\r\n- ✅ **Partial sync** (incremental replication log updates)\r\n- ✅ **Circular replication log** (1M operations buffer, like Redis)\r\n- ✅ **Lag monitoring** (real-time offset tracking)\r\n- ✅ **Auto-reconnect** (intelligent full/partial resync)\r\n- ✅ **Manual failover** (promote replica to master)\r\n- ✅ **Stream replication** (Event Streams included in sync) ✅ NEW\r\n- ✅ **Multi-subsystem sync** (KV + Queue + Streams) ✅ NEW\r\n- ✅ **67 comprehensive tests** (25 unit + 16 extended + 10 integration + 16 KV operations)\r\n- ✅ **Stress tested** (5000 operations validated)\r\n- ✅ **Multiple replicas** (3+ replicas tested simultaneously)\r\n\r\n**Performance**:\r\n- Snapshot creation: 1000 keys \u003c 50ms\r\n- Large values: 100KB transfers validated\r\n- Multiple replicas: 3 replicas sync concurrently\r\n- Stress test: 5000 ops in ~4-5 seconds\r\n\r\n#### 🧪 Testing \u0026 Quality\r\n- ✅ **456+ tests passing** (99.30% test coverage)\r\n  - 128 library tests (KV, Queue, Streams, Partitioning, Consumer Groups, Persistence, Auth, Compression)\r\n  - 67 replication tests (25 unit + 16 extended + 10 integration TCP + 16 KV ops)\r\n  - 21 integration tests (performance, hybrid storage, persistence e2e)\r\n  - 7 Kafka-style integration tests (partition, consumer groups, retention)\r\n  - 40+ geospatial tests (23 unit + 17 integration)\r\n  - 12 bitmap integration tests\r\n  - 30 Lua scripting tests\r\n  - 11 transaction tests\r\n  - 58 authentication tests\r\n  - Protocol tests across REST, StreamableHTTP, WebSocket\r\n- ✅ **11 comprehensive benchmark suites**\r\n  - `kv_bench`: Memory, sharding, TTL, concurrency\r\n  - `queue_bench`: Arc sharing, priority, pending messages\r\n  - `persistence_bench`: AsyncWAL, snapshots, recovery\r\n  - `hybrid_bench`: Adaptive storage (HashMap/RadixTrie)\r\n  - `stream_bench`: Publish, consume, overflow, multi-subscriber\r\n  - `pubsub_bench`: Wildcards, fan-out, hierarchy\r\n  - `compression_bench`: LZ4/Zstd performance\r\n  - `kv_persistence_bench`: With disk I/O (3 fsync modes)\r\n  - `queue_persistence_bench`: RabbitMQ-style durability\r\n  - `geospatial_bench`: GEO operations performance ✅ NEW\r\n  - `bitmap_bench`: Bit manipulation performance ✅ NEW\r\n- ✅ **99.30% test coverage**\r\n- ✅ Clean `cargo fmt` and `cargo clippy`\r\n- ✅ WebSocket tests with graceful shutdown (s2s-tests feature)\r\n\r\n### 🚀 Quick Start\r\n\r\n```bash\r\n# Clone and build\r\ngit clone https://github.com/hivellm/synap.git\r\ncd synap\r\ncargo build --release\r\n\r\n# Run tests (456+ passing)\r\ncargo test\r\n\r\n# Run server\r\n./target/release/synap-server --config config.yml\r\n# Server starts at http://0.0.0.0:15500\r\n\r\n# Use CLI client\r\n./target/release/synap-cli\r\nsynap\u003e SET mykey \"Hello World\"\r\nsynap\u003e GET mykey\r\n\r\n# Or via HTTP API\r\ncurl -X POST http://localhost:15500/kv/set \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"key\": \"test\", \"value\": \"hello\", \"ttl\": 3600}'\r\n\r\ncurl http://localhost:15500/kv/get/test\r\n# Returns: \"hello\" (plain value, not wrapped JSON)\r\n\r\n# Or via MCP (Cursor/Claude Desktop)\r\n# Just ask: \"Get the value of key 'test' from Synap\"\r\n# MCP tool synap_kv_get will be called automatically\r\n```\r\n\r\n### 📨 Queue System Examples\r\n\r\n```bash\r\n# Create queue\r\ncurl -X POST http://localhost:15500/queue/jobs \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"max_depth\": 10000, \"ack_deadline_secs\": 30}'\r\n\r\n# Publish message\r\ncurl -X POST http://localhost:15500/queue/jobs/publish \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"payload\": [72,101,108,108,111], \"priority\": 9, \"max_retries\": 3}'\r\n\r\n# Consume message\r\ncurl http://localhost:15500/queue/jobs/consume/worker-1\r\n\r\n# Acknowledge (ACK)\r\ncurl -X POST http://localhost:15500/queue/jobs/ack \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"message_id\": \"xxx-xxx-xxx\"}'\r\n```\r\n\r\n### 🔒 Authentication Examples\r\n\r\n```bash\r\n# Basic Auth (Redis-style)\r\ncurl -u admin:password http://localhost:15500/queue/private/stats\r\n\r\n# API Key (Bearer Token)\r\ncurl -H \"Authorization: Bearer sk_XXXXX...\" http://localhost:15500/queue/list\r\n\r\n# API Key (Query Parameter)\r\ncurl http://localhost:15500/queue/list?api_key=sk_XXXXX...\r\n```\r\n\r\nSee [docs/AUTHENTICATION.md](docs/AUTHENTICATION.md) for complete authentication guide.\r\n\r\n### 🔜 Next Phases\r\n\r\n**✅ Phase 2 (Q4 2025)**: Event Streams, Pub/Sub, Persistence - **COMPLETE**  \r\n**✅ Phase 3 (Q1 2026)**: Master-Slave Replication with TCP - **COMPLETE**  \r\n**✅ Redis Phase 1 (Oct 2025)**: Hash, List, Set Data Structures + 5 SDKs - **COMPLETE** 🎉  \r\n**✅ Redis Phase 2 (Jan 2025)**: Sorted Sets, String Extensions, Geospatial, Bitmap - **COMPLETE** 🎉  \r\n**✅ MCP Integration**: Model Context Protocol with Authentication \u0026 Configurable Tools - **COMPLETE**  \r\n**✅ UMICP Integration**: Universal Matrix Inter-Communication Protocol with TLS - **COMPLETE**  \r\n**✅ Enhanced Monitoring**: INFO, SLOWLOG, MEMORY USAGE, CLIENT LIST - **COMPLETE**  \r\n**⏳ Phase 4 (Q2 2026)**: Clustering, Sharding, GUI Dashboard, Distribution packages\r\n\r\nSee [docs/ROADMAP.md](docs/ROADMAP.md) for details.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivellm%2Fsynap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhivellm%2Fsynap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivellm%2Fsynap/lists"}