Bunu Neden İnşa Ettim?
"Gizlilik odaklı overlay ağlarında (Tornet/Lokinet) dağıtık yönlendirme (routing) yapıları kurmak, yüksek eşzamanlılığa sahip ve son derece güvenli bir sinyalleşme omurgası gerektirir. Bu projeyi, node'ların birbirini keşfetmesini ve yetkilendirilmesini sağlayan merkezi bir registry olarak geliştirdim. RDBMS gibi ağır bağımlılıklardan kaçınarak, node sirkülasyonunun (churn) yüksek olduğu kısıtlı donanım ortamlarında anında ayağa kalkacak (ephemeral) bir mimari hedefledim."
Mimari & Kararlar
`tokio` asenkron runtime'ı ve `actix-web` framework'ü üzerine inşa edilmiştir. Full-duplex WebSocket bağlantıları, `actix_web_actors` üzerinden Actor modeli kullanılarak yönetilir. Global state (kayıtlı node'lar, aktif proxy'ler ve kullanıcı verileri), thread-safe interior mutability sağlamak amacıyla `Arc<Mutex<HashMap>>` yapıları ile tamamen bellekte (in-memory) tutulur. Güvenlik, custom JWT Bearer middleware'i ve Bcrypt kriptografik özetleme ile sağlanır. Proxy node'larının routing IP/Port metriklerini anons edebilmeleri için, env bazlı bir API Key ile kayıt olmaları ve WebSocket üzerinden doğrulanmaları (auth) zorunludur.
Temel Özellikler
- 01.Gerçek zamanlı proxy node telemetrisi, ping/pong health-check mekanizması ve yaşam döngüsü yönetimi için Full-duplex WebSocket Actor mimarisi
- 02.Lock-contention maliyetini düşüren `Arc<Mutex<T>>` tabanlı eşzamanlı bellek içi (in-memory) durum takibi
- 03.Node ve kullanıcı doğrulaması için katı JWT bearer middleware ve Bcrypt hash entegrasyonu
- 04.IP/Port adres eşlemelerini Tor ve Lokinet routing konfigürasyonlarıyla sorunsuz senkronize edecek şekilde tasarlanmış API şeması