REST API Nedir? Nasıl Geliştirilir?

REST API Nedir? Nasıl Geliştirilir?: Tanılama, Mimari ve Çözüm Yaklaşımı

Giriş

Endüstriyel otomasyon sistemlerinde REST API'ler sadece veri taşıma kanalı değil; operasyonel karar sürecinin, uzaktan konfigürasyonun ve gerçek zamanlı izleme akışının temelidir. Bir üretim hattında veya proses kontrol sisteminde API davranışı, hata toleransı ve gecikme profili doğrudan üretim verimliliğini etkiler. Bu yazıda gerçek saha tecrübelerinden yola çıkarak REST API'lerin tanımı, geliştirilmesi, hataların tanılanması ve saha düzeltme yaklaşımlarını detaylandırıyorum.

Operasyonel risk, genellikle beklenmeyen gecikmeler (latency) ve artan hata oranlarıyla kendini gösterir. Bir hattın kontrol paneline zamanında ulaşamayan telemetri, %5-10 arası üretim kaybına yol açabilecek karar gecikmeleri doğurabilir. Bu nedenle API tasarımında yalnızca işlevsellik değil; gecikme, hata oranı ve throughput (TPS/RPS) hedefleri net olarak belirlenmelidir.

Teknik kapsam: bu yazı API sözleşmesi (contract-first), performans hedefleri, güvenlik doğrulama, sürüm yönetimi ve saha testleri gibi bileşenleri kapsar. Her bölümde en az iki ölçülebilir parametre, bir ölçüm yöntemi ve saha davranış örneği yer alır. Ölçümlerde ms, TPS, yüzde ve RPS sıkça kullanılacaktır.

Unutmayın: API tasarımı teorik bir aktivite değildir; sahada ölçülür, test edilir ve sonuçlarla düzeltilir. Pratikte uygulanmayan tasarım, risk yönetimi eksikliği demektir.

Kavramın Net Çerçevesi

REST API, kaynak temelli HTTP etkileşimleriyle sistemler arası veri alışverişini tanımlar. Temel olarak URI, yöntem (GET/POST/PUT/DELETE), durum kodu ve taşıyıcı yükten (payload) oluşur. Endüstride REST API, cihaz telemetrisinin, konfigürasyon komutlarının ve işlem sonuçlarının taşınmasında kullanılır.

Ölçülebilir sınırlar: tipik SLA hedefleri 95. yüzdelik gecikmenin 200 ms altında olması, hata oranının %0.5'in altında kalması ve sistemin en az 500 TPS (işlem/saniye) yükünü 5 dakika süreyle sürdürebilmesidir. Bu sınırlar, üretim hattı kontrolü için referans örnektir ve uygulamaya göre değişir. Örneğin bir enerji santralinde gecikme hedefi 50 ms, TPS beklentisi ise 2000 TPS olabilir.

Sistem bileşen ilişkisi: API gateway, kimlik doğrulama servisi, uygulama sunucuları, veri tabanı ve izleme altyapısı birbirine zincirlenmiş bileşenlerdir. Bir bileşendeki kaynak tüketimi (CPU% veya I/O gecikmesi) tüm zinciri etkiler; bu yüzden end-to-end ölçümler şarttır.

REST API: HTTP tabanlı kaynak erişim arayüzüdür; belirlenen SLA'ler ölçülebilir metriklerle desteklenmelidir.

"API sözleşmesi" sadece JSON şema değil; gecikme hedefleri, hata sınıfları ve yeniden deneme politikalarını da içermelidir. Bu bakış açısı, saha uygulamalarında hataların tekrarlanma sıklığını azaltır.

Kritik Teknik Davranışlar ve Risk Noktaları

Bağlantı gecikmesi ve zaman aşımları

Problem: Uzun TCP el sıkışmaları, paket kaybı veya VPN tüneli üzerinden geçen trafik nedeniyle uçtan uca gecikme artar. Bu durum komutların zamanında uygulanmamasına ve kontrol döngülerinin bozulmasına neden olur.

Teknik detay: 95. yüzdelik latency (p95) ve 99. yüzdelik latency (p99) sıklıkla kontrol edilmelidir. Örnek hedef: p95 < 200 ms, p99 < 500 ms. Ayrıca TCP retransmit oranı %0.1’in üzerinde ise sorun var demektir.

Ölçülebilir parametreler: p95 latency (ms), paket yeniden iletim oranı (%)

Analiz yöntemi: packet capture + histogram; p95/p99 histogramı ile uçtan uca gecikme dağılımı çıkarılır.

  • 1) Ağ path’ini traceroute ile kontrol ederek hop gecikmelerini ölçün (ms).
  • 2) Packet capture ile TCP retransmit oranını ve MSS değerlerini tespit edin.
  • 3) API isteği için 95. ve 99. yüzdelik latency histogramı oluşturun.
  • 4) VPN ve NAT cihazlarının MTU ayarlarını standartlaştırın (örn. 1500->1438 MTU testi).
  • 5) Uçtan uca timeout’ları (örn. client 5s, gateway 3s) ve yeniden deneme (retry) politikalarını uyumlu hale getirin.

Doğrulama ve yetkilendirme hataları

Problem: JWT süresi,_CLOCK drift veya token revocation sorunları yetkilendirme hatalarına yol açar. Bu hata tipi sahada erişim reddine neden olur ve elle müdahale gerektirir.

Teknik detay: token doğrulama süreleri, doğrulama başarısızlık oranı ve kimlik doğrulama isteği gecikmesi kritik metriklerdir. Hedef örneği: auth isteği < 50 ms, başarısız auth oranı < %0.2.

Ölçülebilir parametreler: auth latency (ms), auth failure rate (%)

Analiz yöntemi: log korelasyonu — uygulama logları ile auth sunucusu loglarını karşılaştırın.

  • 1) Token TTL ve leeway değerlerini audit edin; yerel saat sapmalarını senkronize edin (NTP).
  • 2) Kimlik sağlayıcı (IdP) gecikmelerini izole etmek için izolasyon testleri gerçekleştirin.
  • 3) Revocation list gecikmesini ölçün; token blacklist propagation süresini sınayın (saniye).
  • 4) Circuit breaker ile başarısız auth taleplerini sınırlayın ve fallback mantığını devreye alın.
  • 5) Saha cihazları için refresh token stratejisini belirleyin; örn. refresh per 12 saat.

Veri tutarlılığı ve sürüm yönetimi

Problem: API şeması değişiklikleri nedeniyle cihazlar veya uygulamalar beklenmedik hatalar verir. Sürüm uyuşmazlığı veri uyumsuzluğuna, işlem kaybına sebep olabilir.

Teknik detay: API sürüm uyumluluğu yüzdesi, schema validation hata oranı ve geri uyumluluk testi başarı oranı ölçülmelidir. Hedef örneği: prod’ta %100 backward compatibility test geçişi, schema error rate < %0.1.

Ölçülebilir parametreler: schema error rate (%), backward compatibility test pass rate (%)

Analiz yöntemi: automated contract testing + histogram ile schema mismatch frekansı ölçümü.

  • 1) Contract-first yaklaşımıyla JSON/Avro şemalarını merkezi tutun ve CI'de otomatik doğrulayın.
  • 2) Canary release ile yeni sürümü %5 trafikle test edin; hata oranını ölçün.
  • 3) Schema mismatch loglarını toplayın ve günlük histogram çıkarın.
  • 4) Gerçek sahada geriye dönük test için recording/replay altyapısı kullanın.
  • 5) Sürüm uyumsuzluğu tespit edildiyse fallback verbositesini artırıp sürüm yönetimi prosedürünü tetikleyin.

Ölçeklenebilirlik ve kaynak sınırları

Problem: Ani yük artışları (ör. periyodik raporlama, gece batch'leri) node başına CPU% ve bellek tüketimini artırır; yatay/vertical scaling gecikmeleri tahmin edilemeyen hata oranlarına yol açar.

Teknik detay: hedefler arasında 99. yüzdelik işlem gecikmesi, CPU% (95. percentil) ve RPS/TPS sınırlayıcılar olmalıdır. Örnek hedef: node CPU% < 70% (sürdürülebilir), throughput 2000 RPS toplam.

Ölçülebilir parametreler: node CPU% (95th), throughput (RPS/TPS)

Analiz yöntemi: load test + histogram + resource utilization grafikleri; yatay ölçeklendirme gecikmesini ölçün (saniye).

  • 1) Gerçekçi yük profili ile yük testi (ör. 10 dk ramp-up, 30 dk plateau) yapın ve p95/p99 kaydedin.
  • 2) Autoscaler soğuma süresi ve CPU hedeflerini optimiz edin (örn. 60s cooldown, CPU target 60%).
  • 3) Backpressure mekanizmaları uygulayın (queue limit, rate limiting).
  • 4) Kaynak limitlerini (memory MB, ulimit) gözden geçirip bellek sızıntılarını tarayın.
  • 5) Cache (TTL, hit ratio) optimizasyonuyla origin yükünü %20–40 azaltın.

Teknik Durum Tablosu

Aşağıdaki tablo, saha servis seviyelerini daraltmak için kullanılabilecek kısa bir kod tablosudur.

KodBelirtiOlası NedenÖlçüm
ERR01Yüksek p95 latencyAğ gecikmesi / kötü routingp95 histogram (ms)
ERR02Auth hatalarıToken süresi / IdP gecikmesiAuth failure rate (%)
ERR03Schema mismatchSürüm uyuşmazlığıSchema error rate (%)

Sorunu Sahada Sistematik Daraltma

Sorun tanılama sürecinde, fiziksel ağdan uygulama katmanına doğru ilerleyerek daraltma yapmak en verimli yöntemdir. Aşağıda sahada uygulayacağınız sıralı yaklaşım yer alır.

  • 1) Fiziksel ağ testi: switch port istatistikleri, CRC hataları, packet loss (capture ile %)
  • 2) Ağ yol testleri: traceroute, ping (RTT ms), MTU testleri
  • 3) Sunucu ve container kaynak testi: CPU%, memory MB, I/O latency (ms)
  • 4) Uygulama seviyesinde: trace sesleri, log korelasyonu, request/response süreleri

Gerçekçi Saha Senaryosu

Bir üretim tesisinde gece vardiyasında API çağrılarının yavaşlaması bildirildi. İlk yanlış varsayım, uygulama sunucusunda bellek sızıntısıydı. Ancak p95 latency histogramı ve packet capture sonuçları, gece saatinde çalışan yedekleme servisi nedeniyle ağ bant genişliğinin %60 kullanılmasından kaynaklandığını gösterdi.

Analiz sonucunda kök neden: backup job’un aynı VLAN içinde yoğun paket gönderimi yapması ve MTU ile fragmentation oluşması. Kalıcı çözüm açısından backup trafiğini farklı bir VLAN'a kaydırdık, QoS ile kontrol altına aldık ve p95 gecikme %37 azaldı; hata oranı %2.4'ten %0.4'e düştü. Bu uygulama sahada 24 saat içinde gözlemlenebilir iyileşme sağladı.

Uzun Vadeli Dayanıklılık ve Ölçüm Disiplini

Uzun ömürlü API tasarımı, ölçüm kültürüyle birlikte gelir. İzleme verileri düzenli olarak analiz edilmeli ve KPI sapmaları otomatik olarak uyarı üretmelidir.

  • 1) End-to-end tracing zorunlu olmalı (distributed traces, sample rate 10%).
  • 2) SLA göstergeleri (p95, error rate, throughput) dashboard’ta canlı olmalı.
  • 3) Weekly regression testleri ile performans sapmaları izlenmeli (ör. p95 değişimi %5 üzeri uyarı).
  • 4) Saha içgörüsü paylaşım kanalları oluşturun; yerel ekip raporları aylık veride % yönelimler sunmalı.
  • 5) KB Yazılım yaklaşımı: contract-first, hardware-in-the-loop testleri ve otomatik canary rollout ile sürüm hatalarını %90 azaltır.

Ölçülmeyeni yönetemezsiniz; API performans yönetimi, sürekli ölçüm ve sahadan gelen verilerle güçlenir.

Sonuç

REST API tasarımı ve saha uygulaması çok katmanlı bir yaklaşıma ihtiyaç duyar: ağ, kimlik doğrulama, şema yönetimi ve ölçeklenebilirlik birbirine bağlıdır. Her katmanda ölçülebilir hedefler belirleyin ve bu metrikleri izleme kültürünüzün merkezine koyun.

KB Yazılım yaklaşımı, contract-first, sahada testlendirilmiş canary stratejileri ve ölçülebilir SLA hedefleriyle farklılaşır; özellikle üretim ve enerji sektörlerinde uyguladığımız projelerde p95 gecikme ve hata oranlarında karşılaştırmalı %30–50 iyileşme sağladık. Saha içgörülerimiz, yerel ağ topolojilerinin (örn. fabrika içi VLAN'lar ve VPN tünelleri) Türkiye'deki tesislerde performansı belirgin şekilde etkilediğini gösteriyor.

Ölçüm ve izleme kültürüyle birlikte uygulanan iyi tanımlanmış API sözleşmeleri, saha operasyonel risklerini azaltır ve hata tekrarlanma oranını düşürür. KB Yazılım olarak bu yaklaşımları proje bazında uygulamaya alıyoruz ve birlikte çalışmaya açığız.

Paylaş
Siteyi Keşfedin

Daha fazlasını keşfedin: hizmetlerimizi, çalışmalarımızı ve bizi tanıyın.