AWS CDK Link Kısaltıcı Bölüm 2: Temel Fonksiyonlar & API Geliştirme
Yönlendirme motoru, analytics toplama ve API Gateway konfigürasyonu. Günlük milyonlarca yönlendirmeyi işlemenin gerçek performans optimizasyonları ve debugging stratejileri.
AWS CDK Link Kısaltıcı Bölüm 2: Temel Fonksiyonlar & API Geliştirme
İşte oradaydık, yatırımcılara yaptığımız board sunumunun tam ortasında, yeni pazarlama kampanyası tracking sistemimizi gösteriyorduk. Kısaltılmış linklerden birine tıkladım... ve bekledim. Redirect 3 saniye sürdü. Oda sessizleşti. CEO bana o bakışı attı. O andan sonra redirect performansı bizim için en kritik metrik oldu.
İşte o zaman öğrendim ki link kısaltıcı kurmak sadece kısa kodlar generate etmek değil - ölçekte zarif bir şekilde çalışabilen bir redirect motoru kurmaktır. O biraz garip sunumdan sonra (yine de fonlamayı aldık), redirect sistemimizi proper caching, analytics ve error handling ile yeniden kurduk. CloudFront cache hit oranını optimize etmek ve 404 durumlarını hızlı handle etmek kritik performans faktörleri oldu.
Bölüm 1'de temeli kurduk. Şimdi bu şeyi uçuran gerçek business mantığını kuralım.
Redirect Motoru: Hızın Önemli Olduğu Yer
Redirect handler link kısaltıcının kalbidir. Her milisaniye önemlidir çünkü kullanıcılar anında redirect bekler. İşte production'da test edilmiş implementasyonumuz:
Analytics: Business Intelligence Katmanı
Analytics link kısaltıcımızı sadece kolaylıktan öte değerli kıldı. İşte tık verilerini nasıl topluyoruz ve saklıyoruz:
API Gateway: Ön Kapı
İşte milyonlarca isteği kırmadan handle eden CDK konfigürasyonumuz:
Production'dan Performans Dersleri
50M+ redirect handle ettikten sonra, gerçekten önemli olan performans pattern'leri:
1. Connection Pooling İstek Başına 50ms Kurtarır
Yukarıdaki DynamoDB client konfigürasyonu connection pooling içerir. Onsuz, her Lambda cold start yeni connection'lar yaratır, 50-100ms latency ekler. Doğru pooling ile:
- Cold start redirect: ~200ms
- Warm redirect: ~15ms
- Connection reuse rate: %85
2. Asenkron Analytics Kullanıcıları Bloklamaz
Başlangıçta analytics'i senkron olarak takip ediyorduk. Kötü fikir. Kullanıcılar analytics başarısız olursa umursamazlar, ama redirect'ler yavaşsa kesinlikle umursarlar. Fire-and-forget analytics toplama P95 yanıt süresini 300ms'den 45ms'e düşürdü.
3. DynamoDB Projection'ları Önemli
GetItem çağrılarımızda ProjectionExpression kullanmak response boyutlarını %60 azalttı. Redirect için yalnızca originalUrl, expiresAt, clickCount çekiyoruz. Analytics sorguları ayrı bir GSI kullanıyor.
Production Hata Ayıklama
CloudWatch Insights Sorguları
Lambda Performans İzleme
Redirect Engine'ınızı Test Etme
Jest ile handler testleri: LINKS_TABLE_NAME ve ANALYTICS_TABLE_NAME env'leri. 301 redirect, 410 expired, Cache-Control header'larını doğrulayın.
Sırada Ne Var
Bölüm 3'te servisinizi spam vektörü olmaktan koruyan güvenlik özelliklerini ekleyeceğiz: rate limiting, click fraud tespiti ve custom domain ile SSL sertifikaları.
Sağlam bir redirect motoru kurduk, ancak production bize güvenliğin opsiyonel olmadığını öğretti – hobby projesini business-critical servisten ayıran da bu. Spam saldırıları sırasında servisi ayakta tutan anti-abuse önlemlerini bir sonraki bölümde implement edeceğiz.
AWS CDK Link Kısaltıcı: Sıfırdan Production'a
AWS CDK, Node.js Lambda ve DynamoDB ile production-grade bir link kısaltma servisi kurulumu hakkında 5 bölümlük kapsamlı seri. Gerçek production hikayeleri, performans optimizasyonu ve maliyet yönetimi dahil.