Entegrasyon sorusu birkaç yılda bir şekil değiştirir
"Sistem A'yı sistem B'ye nasıl bağlarız" eskiden "sistem B'nin database'ini her 5 dakikada bir polling yapan PHP yaz" demekti. Şimdi webhook'lar, REST API'lar, GraphQL, message queue'lar, iPaaS platformlar arasında seçim demektir.Webhook'lar: modern varsayılan
Webhook = "sistem A bir şey olduğunda sistem B'ye HTTP POST yapar".İşe yarayan:
- Sistem B stabil URL açar.
- Sistem A payload'u imzalar (tipik HMAC-SHA256).
- Sistem B imzayı doğrular, async işler, 200 döner.
- Sistem A 5xx'te exponential backoff ile retry yapar.
Yanlış giden:
- İmza doğrulama yok.
- Webhook handler'da senkron işleme.
- Idempotency yok.
- Replay kabiliyeti yok.
REST API'lar: workhorse
- Versiyonlu endpoint'ler.
- OAuth 2.0 / API key auth.
- Cursor ile sayfalama (offset değil).
- Rate limit header'ları.
- Koşullu istekler (ETag / If-None-Match).
- Webhook + REST birlikte — webhook değişikliği bilmek için, REST detay almak için.
GraphQL: niş.
iPaaS: ne zaman kullanmalı
Zapier, Make, n8n, Pipedream, Workato.iPaaS mantıklı: cross-platform entegrasyonlar, müşteri/iş ekibi tarafından yürütülen entegrasyonlar, düşük-orta hacim.
Mantıklı değil: yüksek hacim, özel mantık, mission-critical entegrasyonlar.
n8n 2026'da self-hostable seçenek olarak ortaya çıktı — açık kaynak, Docker-deployable, 400+ entegrasyon.
Message queue'lar
- RabbitMQ — olgun, AMQP.
- Redis Streams / Kafka / Pulsar — yüksek throughput log tarzı.
- NATS / Jetstream — hafif, modern, Kafka'dan basit.
- SQS / SNS / EventBridge — AWS native.
Entegrasyon tasarım kontrol listesi
- Source-of-truth ne?
- Latency toleransı ne?
- Başarısızlık modu ne?
- Üretimde eksik/yinelenen event'i nasıl debug edersiniz?
- Kesinti sonrası event'leri nasıl replay edersiniz?
- Entegrasyon evrildiğinde nasıl migrate edersiniz?
Vendor lock-in'den kaçınma
- Vendor-spesifik client'ları kendi arayüzünüzün arkasına soyutla.
- İş mantığı kodunuzda yaşar, iPaaS akışında değil.
- Entegrasyonu belgele.
- Tek vendor'a özgü özelliklerden kaçın.
Uyaracağımız bir desen
Entegrasyon mantığını uygulamanızın main code path'ine inşa etmek.Her zaman karşılığını veren bir desen
Her gelen/giden webhook'u tam payload ve imza ile log, 30+ gün tut.Entegrasyon yığınınız nedir?
The integration question changes shape every few years
"How do we connect system A to system B" used to mean "write some PHP that polls system B's database every five minutes".Webhooks: the modern default
A webhook is "system A makes an HTTP POST to system B when something happens".What works:
- System B exposes a stable URL.
- System A signs the payload (HMAC-SHA256 typically).
- System B verifies the signature, processes asynchronously, returns 200.
- System A retries on 5xx with exponential backoff.
What goes wrong:
- No signature verification.
- Synchronous processing in the webhook handler.
- No idempotency.
- No replay capability.
REST APIs: the workhorse
- Versioned endpoints.
- OAuth 2.0 / API key auth.
- Pagination via cursor.
- Rate limit headers.
- Conditional requests (ETag / If-None-Match).
- Webhook + REST in tandem.
iPaaS: when to lean on it
Zapier, Make, n8n, Pipedream, Workato.iPaaS makes sense: cross-platform integrations, customer/business-team-driven, low-moderate volume.
Doesn't: high volume, custom logic, mission-critical.
n8n has emerged as a viable self-hostable option in 2026.
Message queues
- RabbitMQ — mature, AMQP.
- Redis Streams / Kafka / Pulsar — high-throughput log-style.
- NATS / Jetstream — lightweight, modern.
- SQS / SNS / EventBridge — AWS-native.
The integration design checklist
- What's the source-of-truth?
- What's the latency tolerance?
- What's the failure mode?
- How do you debug a missing/duplicated event?
- How do you replay events after an outage?
- How do you migrate when the integration evolves?
Avoiding vendor lock-in
- Abstract vendor-specific clients behind your own interface.
- Business logic lives in your code, not the iPaaS flow.
- Document the integration.
- Avoid vendor-unique features.
One pattern we'd warn about
Building integration logic into your application's main code path.One pattern that always pays off
Logging every webhook in/out with full payload and signature, retained 30+ days.What's your integration stack?