MongoDB Replica Set ve High Availability


MongoDB Replica Set ve High Availability

Replica Set Nedir ve Neden Kullanılır?

MongoDB Replica Set, veritabanı verilerinin yüksek erişilebilirlik ve veri bütünlüğü ile korunmasını sağlamak için kullanılan bir kümedir. Replica Set, birden çok MongoDB sunucusunun (node) bir araya gelerek otomatik failover ve veri replikasyonu özelliklerini sunar. Bu yapı sayesinde canlı (primary) sunucuya bir sorun olduğunda, anında başka bir sunucu görece olarak devreye girer ve sistemin kesintisiz çalışmasına olanak tanır. Replica Set ile verilerinizin güvenliği ve sürekli erişilebilirliği konularında önemli avantajlar elde edilir.

MongoDB Replica Set Nasıl Kurulur?

Replica Set kurmak için genellikle minimum üç sunucu (bir primary ve iki secondary) gerekir. Her bir MongoDB sunucusunu başlatırken --replSet parametresi kullanılmalıdır. Aşağıda, temel bir Replica Set kurulumu için kullanılabilecek adım adım bir örnek verilmiştir:

# Her node için ayrı bir terminalde çalıştırın
docker run -d --name mongo1 -p 27017:27017 mongo --replSet "rs0"
docker run -d --name mongo2 -p 27018:27017 mongo --replSet "rs0"
docker run -d --name mongo3 -p 27019:27017 mongo --replSet "rs0"

Sunucular başlatıldıktan sonra bir sunucuya bağlanıp Replica Set'i başlatmak gerekir:

// mongo shell'de çalıştırılır
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "localhost:27017" },
    { _id: 1, host: "localhost:27018" },
    { _id: 2, host: "localhost:27019" }
  ]
})

High Availability (Yüksek Erişilebilirlik) Sağlamak

Replica Set, MongoDB'nin high availability (yüksek erişilebilirlik) çözümünün temelini oluşturur. Primary node erişilemez hale geldiğinde, Replica Set içerisindeki seçim algoritması yeni bir primary belirler ve sistemin hizmet vermeye devam etmesini sağlar. Böylelikle bakım çalışmaları, donanım arızaları ya da beklenmedik kesintilerde dahi minimum kesinti ile veri akışı sürdürülebilir. Ayrıca replica set sayesinde okuma istekleri secondary node'lara dağıtılabilir, bu da yük dengeleme açısından artı sağlar.

Replica Set Mimarisi Nasıl Çalışır?

Bir Replica Set içinde genellikle bir primary ve bir veya daha fazla secondary node bulunur. Primary node tüm yazma işlemlerinden sorumludur; secondary node'lar ise primary'den sürekli veri kopyalayarak yedek görevini üstlenir. Gerektiğinde, arıza durumunda, mevcut secondary'lerden biri otomatik olarak primary olarak atanır. Böylece MongoDB Replica Set ve High Availability konsepti, kesintisiz hizmet için oldukça kritik bir rol oynar.

Sonuç

MongoDB Replica Set ve High Availability, modern veri tabanı uygulamalarında operasyonel sürekliliğin anahtarıdır. Doğru yapılandırılmış bir Replica Set, verilerinize her zaman erişmenizi ve sistemde planlı veya plansız kesintilere karşı koruma sağlar. Özellikle kritik uygulamalarınızda, yüksek erişilebilirlik sağlamak için mutlaka Replica Set mimarisi kullanılması önerilir.