dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
mysql Referans Mimarisi
RPO: 0 (Grup Konsensüsü)
RTO: < 10 saniye (Otomatik Primary Seçimi)

MySQL InnoDB Cluster + Group Replication + MySQL Router Mimarisi

Paxos tabanlı Group Replication protokolüyle çalışan, native MySQL yüksek erişilebilirlik çözümü. Single-Primary modunda çalışarak çakışmaları engeller ve MySQL Router üzerinden yükü otomatik yönlendirir.

Bileşenler:MySQL ShellMySQL RouterGroup ReplicationInnoDB Storage EngineMySQL Enterprise Backup
Mimari Topoloji & Akış Şeması
MySQL InnoDB Cluster + Group Replication + MySQL Router Referans Mimari Şeması (Single-Primary Mode)

📌 MySQL InnoDB Cluster + Group Replication + MySQL Router Referans Mimari Şeması (Single-Primary Mode)

Topoloji Yapılandırması
3x MySQL Enterprise / Community Node + 2x MySQL Router + Paxos Quorum
İstemci Trafiği & Yönlendirme Mekanizması
11. Uygulama Katmanı & MySQL Router

Web, Mobil ve Analitik uygulamaları doğrudan veritabanı sunucularına değil, MySQL Router'ın 6446 (R/W) ve 6447 (R/O) portlarına bağlanır.

22. Metadata Cache & Dinamik Yönlendirme

MySQL Router, küme topolojisini ve aktif primary düğümü metadata cache tablosundan sürekli senkronize tutarak istekleri doğru hedefe iletir.

33. Group Replication & Sertifikasyon (Paxos)

Single-Primary modunda tüm yazmalar Primary düğümde işlenir ve Paxos protokolüyle ikincil sunuculara sertifikalandırılarak aktarılır.

Otomatik Yük Devretme (Failover) Aşamaları
11. Düğüm Çöküşü Algılama

Primary sunucu yanıt vermeyi kestiğinde, Group Replication üyeleri otomatik üyelik protokolüyle düğümün ayrıldığını doğrular.

22. Otomatik Yeni Primary Seçimi

En yüksek `member_weight` değerine ve en güncel işlem geçmişine sahip SECONDARY düğüm 10 saniye içinde yeni PRIMARY ilan edilir.

33. Router Üzerinden Şeffaf Yük Devretme

MySQL Router metadata değişikliğini anında algılar; 6446 R/W trafiği uygulama yeniden başlatılmasına gerek kalmadan yeni Primary'ye yönlendirilir.

Üretim Konfigürasyon Dosyası
# MySQL InnoDB Cluster Shell Creation
dba.createCluster('prodCluster', {
  ipWhitelist: '10.0.1.0/24',
  memberWeight: 50,
  consistency: 'AFTER'
});

cluster.addInstance('root@10.0.1.12:3306', {
  recoveryMethod: 'clone'
});
cluster.addInstance('root@10.0.1.13:3306', {
  recoveryMethod: 'clone'
});

# Küme Durumu Kontrolü
cluster.status();
Küme Sağlık Kontrolü & CLI Teşhis Komutları
mysqlsh root@10.0.1.11:3306 -- cluster status
SELECT * FROM performance_schema.replication_group_members;
SELECT * FROM performance_schema.replication_group_member_stats;
Avantajlar
  • •Resmi Oracle / MySQL native desteği
  • •Harici konsensüs servisi (etcd/consul) gerektirmez
  • •MySQL Shell ile tek satırda otomatik kurulum ve yönetim
Dikkat Edilmesi Gerekenler
  • •En az 3 düğümlü küme zorunluluğu
  • •Tablolarda PRIMARY KEY ve InnoDB motor zorunluluğu
Canlıya Çıkış Kontrol Listesi
  • Tüm tablolarda zorunlu olarak PRIMARY KEY ve InnoDB depolama motoru bulunmalıdır.
  • Küme en az 3 düğümden oluşmalıdır (Split-brain önlemek için tek sayılı düğüm önerilir).
  • `binlog_format=ROW` ve `gtid_mode=ON` parametreleri tüm sunucularda aktif olmalıdır.
  • MySQL Router yüksek erişilebilirliği için en az 2 adet Router instance kurulmalıdır.