Özet - Clustering
- Node.js kursu
- İleri seviye
- Ders 6/83
- 5 dk
fork, IPC ve isMaster'ı birleştirerek bir cluster sunucusu yazarsın.
Özet - Clustering
Bu grupta cluster modülünü öğrendin: ana süreç cluster.fork() ile işçi başlatır, işçiler portu paylaşır, IPC ile mesajlaşır. cluster.isMaster ile ana/işçi ayrımı yapılır.
Graceful reload ile kesintisiz güncelleme, exit olayı ile otomatik yeniden başlatma yapılır. Bu kalıplar, Node.js sunucularını üretimde ölçeklendirmenin temelidir.
Ne zaman cluster kullanılır?
Cluster, CPU yoğun uygulamalarda ve HTTP şunucularda en yararlıdır. Tek süreç, çok çekirdekli makinede boşta kalır; cluster tüm çekirdekleri kullanır.
I/O yoğun (ağ, disk) iş yüklerinde kazanç daha azdır; çünkü Node.js'in olay döngüsü zaten eşzamanlı çalışır. Yine de çok çekirdek avantajı her zaman vardır.
Uygulama Ana mı işçi mi yaz
cluster.isMaster doğruysa "ana", değilse "işçi" yaz.
Başlangıç kodu
// cluster modülünü içe aktar
// isMaster'a göre "ana" veya "işçi" yazÖrnek çözüm
const cluster = require("cluster");
console.log(cluster.isMaster ? "ana" : "işçi");Beklenen çıktı
ana
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Cluster modülünün temel amacı nedir?
- Dosya okumayı hızlandırmak
- Birden çok CPU çekirdeğini kullanmak Doğru cevap
- Web sayfası render etmek
- Veritabanı sorgularını önbelleğe almak
Açıklama: Cluster, çok çekirdekli makinede tüm çekirdekleri kullanmayı sağlar.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
cluster.fork() |
İşçi başlatır |
cluster.isMaster |
Ana süreç bayrağı |
cluster.on("exit") |
İşçi ölünce |
require("cluster") |
Modülü içe aktarır |