İçeriğe Atla
Rehberler · 13 dk okuma · görüntülenme
100%

Consul ile Servis Keşfi: Health Check ve DNS Arayüzü

Consul ile health temelli servis kaydı ve DNS arayüzü üzerinden işletilebilir service discovery katmanı kurma rehberi.

Consul katalog, health check ve DNS arayüzü akışını gösteren kapak görseli

Kurumsal altyapılarda servis keşfi (service discovery) çoğu zaman “DNS kaydı ekle” sürecine indirgenir. Sonra şu sorunlar görünür:

  • Bir servis taşıdığınızda DNS gerçekliği gecikir (TTL/caching).
  • Bir node bozulduğunda DNS hâlâ onu döndürür (health yok).
  • Ekipler, “hangi servis neredeydi?” sorusunu wiki/Excel/ticket’ten arar.

Consul gibi bir discovery katmanı burada sadece “yeni bir ürün” değil; altyapının değişkenliğini yönetilebilir hâle getiren bir kontrol düzlemidir. Bu yazıda, özellikle health check + DNS arayüzü üzerinden, sahada işletilebilir bir model kurmaya odaklanıyorum.

Consul katalog, health check ve DNS arayüzü akışını gösteren kapak görseli
Discovery katmanı; kayıt, health, TTL ve erişim modelini birlikte yönetir.

1) Sorunu doğru tarif et: discovery mi, routing mi?

Discovery’nin hedefi “trafiği taşıma” değil; doğru hedefi bulmadır.

  • Routing/LB katmanı trafiği taşır (L4/L7).
  • Discovery katmanı “hangi instance sağlıklı?” sorusunu cevaplar.

Bu ayrımı yapmazsanız, discovery’ye gereksiz beklenti yükler ve tasarım büyür.

2) Consul’u nerede konumlandırmalı? (minimum viable)

Temel bileşenler:

  • Consul server cluster (odd sayı, ör. 3/5)
  • Consul agent’lar (node üzerinde)
  • Servis kayıt modeli (katalog)
  • Health check’ler (kritik)
  • DNS arayüzü (istemciler için)

3) Health check tasarımı: ping değil, iş yapabilirlik

Health check’i üç sınıfa ayırın:

  1. Process check: servis process ayakta mı?
  2. Port check: port dinliyor mu?
  3. Functional check: servis gerçekten iş yapabiliyor mu? (kritik yol)

Discovery kararını mümkünse 3. sınıfa yaklaştırın. Çünkü yanlış “healthy” sonucu, en pahalı tip sorundur: kullanıcıya hata verir, triage’ı uzatır.

4) DNS arayüzü: TTL ve caching ile barış

DNS arayüzü pratik ve yaygın istemci uyumluluğu sağlar. Ama DNS’in doğası gereği:

  • Cache vardır
  • TTL davranışı her yerde aynı değildir

Bu yüzden DNS tabanlı discovery için iki pratik yaklaşım:

  • Düşük TTL + gözlem: değişiklik hızlı yayılır ama load artar
  • Orta TTL + stabilite: daha az load, daha yavaş yayılım

Benim sahada gördüğüm doğru yaklaşım: “en düşük TTL” değil; işletilebilir TTL. Ayrıca “yüksek churn” servisleri (çok sık değişen pod/instance) için DNS yerine istemci tarafı keşif (örn. sidecar) daha uygun olabilir.

5) Runbook: “Yanlış hedefe gidiyor” incident’inde ne yaparım?

Belirti: Bazı istekler hata alıyor, bazıları almaz; yük dalgalı.

  • DNS cevabı hangi instance’ları döndürüyor? (örneklem)
  • Health check sonucu gerçekten doğru mu?
  • Problemli instance’ı katalogdan düşürün (geçici) ve sebebi bulun
  • TTL/cache yüzünden eski cevaplar dolaşıyor mu?
  • Consul server/agent latency artmış mı? (raft, disk, network)

6) Güvenlik: discovery = envanter + hedef haritası

Consul katalog bilgisi saldırgan için de değerlidir. Bu yüzden:

  • UI/API erişimini yönetim ağına alın
  • ACL/policy modelini kullanın
  • Audit log’ları merkezi log/SIEM hattına bağlayın

Discovery’nin “kolaylık” yüzünden envanter sızıntı yüzeyine dönüşmesine izin vermeyin.

7) Kapanış

Consul ile servis keşfi; DNS kaydı yönetmekten daha fazlasıdır: sağlık sinyaliyle yaşayan bir hedef listesi üretir. Doğru tasarım; TTL/caching gerçekliğini kabul eder, health check’i iş yapabilirliğe yaklaştırır ve discovery katmanını kritik servis olarak işletir. Bu disiplin kurulduğunda “servis nerede?” sorusu ticket değil, sistem cevabı olur.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

Yeni yazılardan haberdar olun

Haftada bir yeni içerikler ve kaynaklar doğrudan e-postanıza gelsin.

Spam yok. Yalnızca yeni ve önemli içerikler için e-posta gönderilir.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar