ResiliEngine, bulut tabanlı ve servis odaklı mimariler (SOA) için tasarlanmış yenilikçi bir Kaos Mühendisliği (Chaos Engineering) platformudur. Sistemlerin beklenmedik hatalara (ağ gecikmeleri, servis çökmeleri, veritabanı bağlantı kopmaları) karşı ne kadar dayanıklı olduğunu ölçmek amacıyla sisteme bilinçli ve kontrollü arızalar (hata enjeksiyonu) verir.
Sadece hataları enjekte etmekle kalmaz, entegre Yapay Zekâ (Gemini AI) desteğiyle sistemin bu hatalara verdiği tepkileri analiz ederek, darboğazları tespit eder ve geliştiricilere doğrudan kullanılabilecek mimari iyileştirme önerileri (Root Cause Analysis) sunar.
ResiliEngine, sağlam ve ölçeklenebilir bir mikroservis yapısı üzerine inşa edilmiştir.
graph TD
%% Bileşenler
UI[React Frontend]
BE[NestJS Backend]
AI[FastAPI AI Service]
Guard[Guard.js Agent]
DB[(PostgreSQL)]
Gemini([Google Gemini API])
%% Bağlantılar
Guard -- "[1] Hata Yakalar" --> BE
BE -- "[2] Analiz İster" --> AI
AI -- "[3] Veri Çeker/Kaydeder" --> DB
AI -- "[4] Akıllı Analiz" --> Gemini
AI -- "[5] Rapor Döner" --> BE
BE -- "[6] Canlı Görünüm" --> UI
UI -- "Kaos Tetikler" --> BE
%% Stil
style UI fill:#61dafb,stroke:#333,stroke-width:2px
style BE fill:#e0234e,stroke:#333,stroke-width:2px,color:#fff
style AI fill:#3776ab,stroke:#333,stroke-width:2px,color:#fff
style Guard fill:#f4b400,stroke:#333,stroke-width:2px
style DB fill:#336791,stroke:#333,stroke-width:2px,color:#fff
style Gemini fill:#4285F4,stroke:#333,stroke-width:2px,color:#fff
sequenceDiagram
participant Dev as 👨💻 Yazılımcı / Terminal
participant Guard as 🛡️ Guard.js (Agent)
participant BE as ⚙️ NestJS Backend
participant AI as 🧠 AI Service (FastAPI)
participant Gemini as ✨ Google Gemini AI
participant DB as 🗄️ PostgreSQL
Dev->>Guard: Komutu Çalıştır (Örn: node guard.js "npm run dev")
Guard->>Dev: Uygulama Çıktılarını Ekrana Basar
Note over Guard: Regex ile Hata Tespiti (Error/Exception)
Guard->>BE: POST /chaos/terminal-error (Hata Logu)
BE->>DB: Logu Veritabanına Kaydet
BE->>AI: POST /analyze (Log İçeriği)
AI->>AI: Local Cache & Knowledge Base Kontrolü
alt Cache/KB Eşleşmesi Yoksa
AI->>Gemini: Prompt Gönder (Log Analizi & Çözüm)
Gemini-->>AI: Analiz Raporu (JSON)
end
AI-->>BE: Mimari Öneri & Kök Neden Analizi
BE->>DB: Analiz Sonuçlarını Güncelle
BE->>Dev: Dashboard Üzerinden Canlı Bildirim & Rapor
- 🛡️ Guard.js (Canlı Terminal Gözcüsü): Yazılımcıların terminal akışlarını izleyen, bir hata (
Error,Exceptionvb.) yakaladığı anda anında sunucuya raporlayan Node.js tabanlı canlı izleme ajanı. - 🧪 Dinamik Hata Enjeksiyonu (Strategy Pattern): Sistemlerin dayanıklılığını ölçmek amacıyla
Latency,429,401ve500hataları fırlatabilen modüler kaos motoru. - 🧠 Hibrit Yapay Zekâ Hattı: Sistem, verimlilik ve maliyet optimizasyonu için kademeli bir analiz mantığı yürütür:
flowchart TD
Start([Hata Logu Geldi]) --> Cache{Cache'de Var mı?}
Cache -- Evet --> Return[Hızlı Yanıt Dön]
Cache -- Hayır --> KB{KB'de Tanımlı mı?}
KB -- Evet --> Return
KB -- Hayır --> Gemini{Gemini Erişilebilir mi?}
Gemini -- Evet --> Gen[Gemini ile Analiz Et]
Gemini -- Hayır --> Fallback[Fallback Kurallarını İşlet]
Gen --> Save[Sonucu Kaydet]
Fallback --> Return
Save --> Return
1. **L1 - Veritabanı Cache:** Daha önce analiz edilmiş benzer hatalar milisaniyeler içinde çekilir.
2. **L2 - Knowledge Base:** Sık karşılaşılan DevOps ve kodlama hataları için yerel uzman kütüphanesi.
3. **L3 - Bulut AI (Gemini):** Güncel ve gelişmiş mimari analizler için Google Gemini 2.0 Flash entegrasyonu.
4. **L4 - Fallback Engine:** Tüm sistemler çevrimdışı olsa bile devreye giren akıllı DevOps asistanı.
Tüm mikroservis mimarisini ayağa kaldırmak için terminalde çalıştırın:
docker-compose up -dNot: Sistem Docker üzerinden frontend (5173), backend (3000), ai-service (8000) ve PostgreSQL veritabanını yönetir.
Tarayıcınızdan http://localhost:5173 adresine giderek Dashboard'u açın. Ekranda yeşil renkle yanıp sönen "Aktif İzleme Devrede" panelini görün.
Bir yazılımcının sistemde hata yaptığını simüle etmek için yeni bir terminalde şu komutu çalıştırın:
node guard.js "echo [ERROR] Fatal: Database deadlocked in /src/database.ts"Komut çalıştıktan 2-3 saniye sonra Dashboard ekranına anında hatanın düştüğünü ve Yapay Zeka'nın Türkçe bir dille mimari çözüm ürettiğini göreceksiniz.
| Servis / Bileşen | Teknoloji | Durum |
|---|---|---|
| Frontend (UI) | React / Vite | 🟢 Aktif |
| Backend (API) | NestJS | 🟢 Aktif |
| AI Service | Python / FastAPI | 🟢 Aktif |
| Database | Managed PostgreSQL | 🟢 Aktif |