Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rustaceans Odyssey

Five production-grade Rust systems, plus four expert-level extensions. Each project is a real implementation of something that exists in production: a cache server, a database engine, an async runtime, a VM, and a systems monitor.


Projects

distributed-cache

In-memory key-value store with TTL support, lock-free concurrent access, a custom wire protocol, and language bindings via FFI.

Comparable to: Redis, Memcached.

cd distributed-cache && cargo run

async-runtime

A minimal async task executor — task scheduling, waker internals, work stealing, an I/O reactor (epoll/kqueue), and proc macros for #[runtime::main].

Comparable to: a stripped-down Tokio.

cd async-runtime && cargo run

database-engine

An embedded relational database with a B+ tree storage layer, a SQL subset parser, MVCC for concurrent transactions, WAL for crash recovery, and a type-safe query builder.

Comparable to: SQLite.

cd database-engine && cargo run

vm-runtime

A bytecode VM and compiler for a small programming language: lexer, parser, AST, bytecode compiler, stack-based interpreter, garbage collector, and REPL.

Comparable to: CPython's VM or Lua.

cd vm-runtime && cargo run

systems-monitor

A cross-platform system metrics tool using FFI to OS APIs — CPU, memory, processes, disk and network I/O — with a TUI, a plugin system, and Prometheus export.

Comparable to: htop.

cd systems-monitor && cargo run

Advanced Projects

Four expert-level extensions in ADVANCED_PROJECTS.md:

  • network-protocol — binary serialization format with proc-macro code gen (like Protocol Buffers)
  • lock-free-queue — MPMC lock-free queue with epoch-based reclamation and Loom verification
  • memory-allocator — arena, pool, and slab allocators implementing GlobalAlloc
  • operating-system — bare-metal #![no_std] OS kernel for x86_64

Building

# Build everything
cargo build --workspace

# Test everything
cargo test --workspace

# Work on a specific project
cd distributed-cache
cargo watch -x test

References

  • "Rust for Rustaceans" — Jon Gjengset (No Starch Press)
  • "Programming Rust" — Blandy, Orendorff, Tindall (O'Reilly)
  • The Rustonomicon — unsafe code internals
  • "Database Internals" — Alex Petrov
  • "Crafting Interpreters" — Bob Nystrom

About

🦀 Professional Rust mastery journey - 5 production-grade projects covering all chapters of 'Rust for Rustaceans'

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages