> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Topoloji 3: Yüksek Erişilebilirlik

> Yüksek erişilebilirlik gereksinimleri olan kritik production ortamlarında Apinizer'ı kurabilir, sistem gereksinimlerini belirleyebilir, ağ topolojisini yapılandırabilir, kapasite planlaması yapabilir ve donanım gereksinimlerini karşılayabilirsiniz.

Bu sayfa, Apinizer'ı **yüksek erişilebilirlik gereksinimleri olan kritik production ortamlarında** kurmak isteyenler için hazırlanmıştır. Bu topoloji, %99.9+ uptime, otomatik failover ve veri replikasyonu sağlar.

## Genel Bakış

Topoloji 3, yüksek erişilebilirlik için tasarlanmış, tüm kritik bileşenlerin cluster yapısında çalıştığı bir topolojidir. Tüm bileşenler 12 sunucu üzerinde dağıtılmıştır.

### Mimari Yapı

<img src="https://mintcdn.com/apinizer/PjHeFMTcHBq5-E_G/images/concepts/singlecluster-ha.drawio.png?fit=max&auto=format&n=PjHeFMTcHBq5-E_G&q=85&s=10105f5a6f0178dd3560732548666f5e" alt="Yüksek Erişilebilirlik Kurulum Mimarisi" width="1000" data-path="images/concepts/singlecluster-ha.drawio.png" />

## 1. Sistem Gereksinimleri

Detaylı sistem gereksinimleri için [Genel Bakış](/tr/concepts/deployment/genel-bakis) sayfasına bakabilirsiniz.

### İşletim Sistemi

* **Ubuntu Server 24.04 LTS** veya **RHEL 9.x**
* Minimum kernel versiyonu: 5.4+
* SELinux: Disabled (RHEL için) veya Permissive mode

### Yazılım Bileşenleri

| Bileşen               | Versiyon/Gereksinim                                  |
| --------------------- | ---------------------------------------------------- |
| **Kubernetes**        | 1.31.0+ (HA Cluster)                                 |
| **Docker/Containerd** | Kubernetes ile uyumlu versiyon                       |
| **MongoDB**           | Herhangi bir versiyon (Replica Set - 3 node minimum) |
| **Elasticsearch**     | 7.9.2+ (Cluster - 3 node minimum)                    |
| **Network Plugin**    | Flannel 0.27.4 (veya uyumlu)                         |
| **Load Balancer**     | HAProxy 2.0+ veya Nginx 1.18+ (HA yapılandırma)      |

<Info>
  **Yazılım bileşenleri hakkında detaylı bilgi için:** [Genel Bakış - Apinizer'ın İhtiyaç Duyduğu Bileşenler](/tr/concepts/deployment/genel-bakis#apinizerın-ihtiyaç-duyduğu-bileşenler)
</Info>

### Ağ Gereksinimleri

* **Internet Erişimi**: Kurulum sırasında gerekli
* **DNS**: Çalışan DNS çözümleme
* **Firewall**: Gerekli portların açık olması
* **Load Balancer**: HA yapılandırma (VIP)
* **Network Latency**: Node'lar arası \< 1ms (aynı datacenter)

<Info>
  **Ağ topolojisi ve port gereksinimleri hakkında detaylı bilgi için:** [Ağ Topolojisi ve Port Gereksinimleri](/tr/concepts/deployment/ag-topolojisi)
</Info>

## 2. Donanım Gereksinimleri

Aşağıdaki gereksinimler tavsiye edilen **minimum** konfigürasyon için belirtilmiştir. Servis yüklerinize göre artırılmalıdır.

| No        | İşletim Sistemi                    | CPU | RAM  | Disk  | Kurulumlar                                 |
| --------- | ---------------------------------- | --- | ---- | ----- | ------------------------------------------ |
| Sunucu 1  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 100GB | Kubernetes Control-Plane Node 1            |
| Sunucu 2  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 100GB | Kubernetes Control-Plane Node 2            |
| Sunucu 3  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 100GB | Kubernetes Control-Plane Node 3            |
| Sunucu 4  | Ubuntu Server 24.04 LTS / RHEL 9.x | 10  | 12GB | 100GB | Kubernetes Worker Node 1                   |
| Sunucu 5  | Ubuntu Server 24.04 LTS / RHEL 9.x | 10  | 12GB | 100GB | Kubernetes Worker Node 2                   |
| Sunucu 6  | Ubuntu Server 24.04 LTS / RHEL 9.x | 10  | 12GB | 100GB | Kubernetes Worker Node 3                   |
| Sunucu 7  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 200GB | MongoDB Replica Set Node 1                 |
| Sunucu 8  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 200GB | MongoDB Replica Set Node 2                 |
| Sunucu 9  | Ubuntu Server 24.04 LTS / RHEL 9.x | 4   | 8GB  | 200GB | MongoDB Replica Set Node 3                 |
| Sunucu 10 | Ubuntu Server 24.04 LTS / RHEL 9.x | 8   | 32GB | 2TB   | Elasticsearch Cluster Node 1 (Master+Data) |
| Sunucu 11 | Ubuntu Server 24.04 LTS / RHEL 9.x | 8   | 32GB | 2TB   | Elasticsearch Cluster Node 2 (Master+Data) |
| Sunucu 12 | Ubuntu Server 24.04 LTS / RHEL 9.x | 8   | 32GB | 2TB   | Elasticsearch Cluster Node 3 (Master+Data) |

<Note>
  Worker node'larındaki sunucu kaynakları, gateway pod limitlerine (W8: 8 core / 8 GB) ek olarak Kubernetes sistem bileşenlerine (kubelet, kube-proxy, container runtime, işletim sistemi) ayrılan **\~2 core / \~4 GB** rezervasyonu kapsamaktadır.
</Note>

<Info>
  **Önemli**: Yukarıdaki CPU, disk ve RAM değerleri örnek olarak verilmiştir. Bu değerler, trafik hacmi, API sayısı, politika karmaşıklığı ve diğer faktörlere göre değişiklik gösterebilir. Gerçek donanım gereksinimlerinizi belirlemek için [Kapasite Planlama](/tr/concepts/deployment/kapasite-planlama) sayfasındaki kurallara göre hesaplama yapmanız önerilir.
</Info>

## 3. Ağ Topolojisi

### DMZ ve LAN Ayrımı (Zorunlu)

Yüksek erişilebilirlik topolojisi için DMZ (Demilitarized Zone) ve LAN (Local Area Network) ayrımı zorunludur. Bu yapı, güvenlik ve yüksek erişilebilirlik sağlar.

**Ağ Yapısı:**

* **Internet**: Dış dünyadan gelen trafik, yüksek erişilebilirlik yapılandırmasına sahip Load Balancer üzerinden (Port 443/80) DMZ zone'una yönlendirilir.

* **DMZ Zone**: [Worker](/tr/concepts/temel-bilesenler/api-gateway) node'ları (3 adet) bu zone'da bulunur. Load Balancer, trafiği bu üç worker node arasında dağıtarak yük dengeleme ve yüksek erişilebilirlik sağlar.

* **LAN Zone**: [Manager](/tr/concepts/temel-bilesenler/api-manager), [MongoDB](/tr/concepts/temel-kavramlar/baglantilar) Replica Set (3 node) ve [Elasticsearch](/tr/concepts/temel-bilesenler/analytics-engine) Cluster (3 node) bu zone'da bulunur.

<Info>
  **DMZ ve LAN zone'ları hakkında detaylı bilgi için:** [Genel Bakış - Temel Kavramlar](/tr/concepts/deployment/genel-bakis#temel-kavramlar) ve [Ağ Topolojisi ve Port Gereksinimleri](/tr/concepts/deployment/ag-topolojisi)
</Info>

### Port ve Firewall İzinleri

Bu topolojide sunucular DMZ ve LAN zone'larına ayrılmıştır. Worker node'lar DMZ'de, Control-Plane, MongoDB ve Elasticsearch node'ları LAN'da bulunur. Firewall kuralları, zone'lar arası iletişimi kontrol eder ve sadece gerekli portların açılmasını sağlar.

<Info>
  **Port gereksinimleri ve firewall kuralları hakkında detaylı bilgi için:** [Ağ Topolojisi ve Port Gereksinimleri](/tr/concepts/deployment/ag-topolojisi) sayfasına bakabilirsiniz. Bu sayfada Kubernetes, MongoDB, Elasticsearch ve Apinizer bileşenleri için tüm port gereksinimleri ve firewall kuralları detaylı olarak açıklanmıştır.
</Info>

## 4. Kapasite Planlama

Bu topoloji, 3 adet W8 worker node ile çalışır. Benchmark'a dayalı planlama değerleri:

| Metrik                         | Değer                                      |
| ------------------------------ | ------------------------------------------ |
| **Worker Tier**                | W8 (8 core / 8 GB RAM) × 3 node            |
| **Günlük Planlama Kapasitesi** | \~30M istek/gün (3 × 10M/gün)              |
| **Uptime Hedefi**              | %99.9+                                     |
| **Kullanım Amacı**             | Kritik production — yüksek erişilebilirlik |

<Note>
  **Rolling Update ve Kapasite:** Sıfır kesintili (rolling) güncellemeler sırasında Kubernetes bir node'u geçici olarak devre dışı bırakır. Bu topolojide güncelleme sürecinde 2 aktif node (\~20M istek/gün) kalır. Tam yük altında kesintisiz güncelleme yapılmak isteniyorsa toplam worker node kapasitesinin ihtiyaç duyulan trafiğin en az 2 katı olması ya da güncelleme penceresi için ek node eklenmesi önerilir.
</Note>

<Info>
  **Kapasite planlama hakkında detaylı bilgi için:** [Kapasite Planlama](/tr/concepts/deployment/kapasite-planlama) sayfasına bakabilirsiniz. Bu sayfada trafik tahmini, donanım gereksinimleri, MongoDB ve Elasticsearch veri büyüklüğü hesaplamaları ve benchmark performans sonuçları detaylı olarak açıklanmıştır.
</Info>

## Kurulum Öncesi Checklist

Kuruluma başlamadan önce aşağıdaki hazırlıkları yapmalısınız:

| Kategori     | Kontrol Maddesi                                                                      |
| ------------ | ------------------------------------------------------------------------------------ |
| **Altyapı**  | \[ ] 12 sunucu hazırlandı (3 Control-Plane + 3 Worker + 3 MongoDB + 3 Elasticsearch) |
|              | \[ ] Load Balancer hazırlandı (HA yapılandırma)                                      |
|              | \[ ] İşletim sistemi kuruldu (Ubuntu 24.04 LTS veya RHEL 9.x)                        |
|              | \[ ] Sunucular arası ağ bağlantısı test edildi (\< 1ms latency)                      |
|              | \[ ] DNS çözümleme çalışıyor                                                         |
|              | \[ ] Internet erişimi mevcut                                                         |
|              | \[ ] VIP (Virtual IP) yapılandırıldı                                                 |
| **Ağ**       | \[ ] DMZ ve LAN zone'ları yapılandırıldı                                             |
|              | \[ ] Firewall kuralları yapılandırıldı                                               |
|              | \[ ] Load balancer HA yapılandırıldı                                                 |
|              | \[ ] SSL/TLS sertifikaları hazırlandı                                                |
|              | \[ ] Gerekli portlar açıldı                                                          |
|              | \[ ] Network segmentation uygulandı                                                  |
| **Yazılım**  | \[ ] Kubernetes HA cluster kurulum paketleri hazır                                   |
|              | \[ ] MongoDB replica set kurulum paketleri hazır                                     |
|              | \[ ] Elasticsearch cluster kurulum paketleri hazır                                   |
|              | \[ ] Apinizer image'leri erişilebilir (DockerHub veya private registry)              |
|              | \[ ] Load balancer yazılımı kuruldu (HA)                                             |
| **Güvenlik** | \[ ] SSH anahtarları yapılandırıldı                                                  |
|              | \[ ] Sudo erişimi yapılandırıldı                                                     |
|              | \[ ] Güvenlik güncellemeleri yapıldı                                                 |
|              | \[ ] Firewall kuralları test edildi                                                  |
|              | \[ ] SSL/TLS sertifikaları hazırlandı                                                |
|              | \[ ] Network segmentation test edildi                                                |

<Info>
  **Kurulum öncesi detaylı öneriler için:** [Kurulum Öncesi Öneriler](/tr/concepts/deployment/kurulum-oncesi-oneriler) sayfasına bakabilirsiniz.
</Info>

## Kullanım Senaryoları

Bu topoloji, kritik production ortamları, yüksek trafikli sistemler (\~30M istek/gün ve üzeri, 3×W8), yüksek erişilebilirlik gereksinimleri (%99.9+ uptime), kritik iş süreçleri ve veri güvenliği gereksinimleri olan sistemler için idealdir.

<Info>
  **Topoloji seçim kılavuzu ve kullanım senaryoları hakkında detaylı bilgi için:** [Deployment Modelleri](/tr/concepts/deployment/deployment-modelleri) sayfasına bakabilirsiniz.
</Info>

## Sınırlamalar ve Dikkat Edilmesi Gerekenler

<Warning>
  **Bu topolojinin dikkat edilmesi gereken noktaları:**

  * Yüksek maliyet gereksinimleri (12 sunucu + Load Balancer)
  * Karmaşık kurulum ve yönetim süreçleri
  * Yüksek ağ bant genişliği gereksinimleri
  * Uzman sistem yöneticisi gereksinimi
  * Düzenli bakım ve izleme gereksinimleri
  * Yüksek disk alanı gereksinimleri (özellikle Elasticsearch için)
</Warning>
