RPA · NODE.JS · ÇOK İŞ PARÇACIKLI MİMARİ
Bir platform üzerindeki tekrarlayan kullanıcı işlemlerini, hesap yönetimini ve veri toplamayı tek merkezi panelden yöneten RPA çözümü. Klasik tarayıcı otomasyonunun ötesine geçip hibrit request/browser mimarisiyle kaynak tüketimini düşürürken işlem hızını yükseltir.
tarayıcıyı sadece gerektiği yerde kullanmak
Tarayıcı otomasyonu güçlüdür ama pahalıdır: her sekme bellek yer, her etkileşim yavaştır. Bu projede tarayıcı yalnızca karmaşık oturum açma ve token yakalama için kullanılıyor; asıl iş yükü ise doğrudan HTTP istekleriyle yürütülüyor. Sonuç, aynı işi çok daha az kaynakla yapan bir sistem.
panel, iki bot ve bir tarayıcı
Express.js tabanlı web arayüzü sistemin beyni: anlık başarı/hata oranları, işlem hızı ve canlı log akışı. Hedefler ve limitler JSON tabanlı dinamik konfigürasyonla yönetilir. Admin ve standart kullanıcı için rol tabanlı yetkilendirme var.
Tarayıcı hiç açmadan, saf HTTP istekleriyle çalışır. Keep-Alive agent ile TCP bağlantıları açık tutulup el sıkışma maliyeti düşürülür. 429 veya 5xx hatalarında otomatik yavaşlar, sistem stabil olunca tekrar hızlanır.
Puppeteer ile giriş yapıp oturum bilgilerini yakalar, ardından tarayıcıyı yormadan arka planda doğrudan API çağrıları yapar. Hem mobil hem masaüstü istemci davranışını taklit edebilir.
CPU yoğunluklu işleri (regex ve XML ayrıştırma) worker threads ile ana thread'den izole eder, bulunanları çapraz sorgular.
yüksek hacimde iki şey kırılır: event loop ve hız limitleri
Binlerce kaydın ayrıştırılması sırasında Node.js tek iş parçacıklı olduğu için event loop bloklanıyor, yönetim paneli donuyordu.
worker_threads kullanılarak tamamen izole edildi. CPU yoğun işler ayrı iş parçacıklarında koştu.Statik bir bekleme süresi ya çok yavaş kalıp zaman kaybettiriyor ya da çok hızlı olup hedef sunucunun hız limitine takılıyordu. Doğru değer sabit değil, ana göre değişiyordu.
Yerel sunucuda çalışan panele dışarıdan erişmek gerekiyordu, ama router'da port açmak güvenlik riski yaratırdı.
bu projeden çıkardıklarım
Karmaşık asenkron yapıların yönetimi, API davranışlarının analizi, oturum ve parmak izi yönetimi ve mikroservise yakın modüler mimari tasarımı konularında derinlemesine tecrübe. En kalıcı ders ise şu oldu: sabit sayılar yerine geri bildirime tepki veren sistemler kurmak — hem daha hızlı hem daha dayanıklı çıkıyor.
Elle yapılan tekrarlayan işleri otomatiğe alıyorum.