• Buradasın

    Cache Yönetimi ve Cache Invalidation Teknikleri

    youtube.com/watch?v=LzDj2rDfvGI

    Yapay zekadan makale özeti

    • Bu video, teknoloji uzmanları arasında geçen bir eğitim ve teknik sohbet formatındadır. Ömer Faruk (TV projesinde peloper), Midpoint ve Origin gibi konuşmacılar cache yönetimi ve cache invalidation teknikleri hakkında bilgi paylaşmaktadır.
    • Video, API ölçeklendirme ve maliyet düşürme ihtiyaçları nedeniyle keşfedilen çözümlerden başlayarak, HTTP cashing, application layer cashing ve data layer cashing gibi farklı cache mekanizmalarını anlatmaktadır. Daha sonra Redis cache invalidation yöntemleri (surge key, soft purge, Vary Header) ve bunların kullanım alanları detaylandırılmakta, son olarak Fastly adlı yüksek performanslı bir cache ve güvenlik çözümü ele alınmaktadır.
    • Videoda ayrıca cache invalidate edildikten sonra eski datanın ne kadar süre korunacağı, stay wire revalidate, TTL limitleri ve asenkron isteklerin nasıl yönetildiği gibi teknik konular da tartışılmaktadır. Facebook örneği üzerinden cache yönetimi ve invalidation senaryoları da incelenmektedir.
    00:22LG Festi Service Tanıtımı
    • Konuşmacı Ömer Faruk, TV projesinde Peloper olarak çalıştığını ve bugünkü konuşmasında LG Festi Service'ın nasıl kullanıldığı, neler yapıldığı, avantaj ve dezavantajlarını anlatacağını belirtiyor.
    • İlk production alındığında API'lerin düşük performans gösterdiği ve bunu scale etmek ve maliyeti düşürmek istedikleri belirtiliyor.
    01:18Çözüm Önerileri
    • Çözüm önerileri olarak üç farklı cashing mekanizması incelenmiş: HTTP cashing, application layer cashing ve data layer cashing.
    • Alternatif servisler olarak Cloudflare ve Cloud Front gibi standart hizmetler bulunuyor.
    • Vanish yazılımı da alternatif olarak düşünülmüş ancak bu maliyetli ve ciddi bir DevOps yükü gerektirdiği için tercih edilmemiş.
    03:12Fastly Fas Kullanımı
    • Fastly Fas'ın iki önemli özelliği var: instant purge ve taggable keyler.
    • Instant purge özelliği sayesinde API response'ları anlık olarak tüm edge serverlarda invalidate edilebiliyor.
    • Taggable keyler özelliği sayesinde datalar projelere göre tagleyebiliyor ve bu tag'ları istediğimiz zaman invalidate edebiliyoruz.
    04:34Fastly Kullanım Örnekleri
    • Fastly'yi kullanmak için sadece response control eklemek ve max age belirtmek yeterli.
    • Error: TTL özelliği, hata durumunda eski datanın ne kadar süre korunacağını belirtiyor.
    • Stay wire revalidate özelliği, cache invalidate edildiğinde eski datanın ne kadar süre korunacağını belirtiyor ve bu sayede performans sorunları kullanıcıya yansımıyor.
    08:11Sıkıntılar ve Öneriler
    • Tüm GET requestlerinde cache uygulamak mantıklı olmayabilir, özellikle requestlerde kontrol işlemleri varsa.
    • Örneğin IP adresi kontrolü yapan bir endpoint için cache control headerlarını eklemek yanlış bir çözüm olabilir.
    09:04Fastly Cache Invalidation Yöntemleri
    • Fastly cache'ini invalidate etmek için direkt bir URL için burger request göndererek o URL'i tekrar invalidate edebilirsiniz.
    • Fastly, perge request ile belirli sözler veya eklenen şeylere göre tüm sayfaları invalidate etme imkanı sunar.
    • Fastly'nin sağladığı iki özellik vardır: soft perge ve very header.
    09:53Soft Perge ve Very Header Özellikleri
    • Soft perge, data invalidate edilirken aynı zamanda yeni datayı API'dan alıp saklamaya devam eder, böylece yeni bir request gelmesini beklemeye gerek kalmaz.
    • Very header, kullanıcı veya platform bazında farklı cache filtrelemek için kullanılır, örneğin mobil ve klima için farklı response döndürmek için.
    • Stay wire validate varken hem TTL'den sonra hem de normal perge requestinden sonra bekler, soft perge ise bunu yapmaz.
    12:40Fastly Kullanım Örneği
    • Asset detay sayfası için tablo adı ve assetin record key'i birleştirilerek bir key verilir, böylece değişiklik olduğunda invalidate edilebilir.
    • Asset listeleme sayfasında her asset için tek tek keyler verilir ve yeni asset geldiğinde genel bir "assets" key'i kullanılarak invalidate edilir.
    • Asset update, create veya distribute edildiğinde ilişkili modeller için invalidate etme işlemi yapılır.
    14:13Invalidate Mekanizması ve Asenkron Yapı
    • Invalidate mekanizması, Rails framework'ündeki callback'lere dayanarak event bus sistemi ile kontrol edilir.
    • Invalidate işlemi Redis channel'a publish edilir ve Kijo adında bir Node.js uygulaması bu mesajları alarak invalidate işlemini gerçekleştirir.
    • Asenkron yapı sayesinde invalidate request'in 35-40 saniye sonra bile döndüğü halde sistem etkilenmez, bu yapı kullanıcı sayısının artmasıyla ciddi bir load'a ulaşacak.
    16:54Fastly ve WAF Teknolojisi
    • Fastly, kullanıcıların ilk karşıladığı nokta olarak tüm domain requestler için önemli bir rol oynuyor.
    • WAF (Web Application Firewall), uygulamaya özel zafiyetlere karşı koruma sağlıyor ve SQL injection gibi saldırıları engelliyor.
    • Fastly'nin keşme özelliği, global olarak tüm lokasyonlarda üç saniye içinde güncelleme yapabiliyor.
    19:14Keşme Limitleri ve Sorunlar
    • Fastly'de bir servet key'i tüm hasretler için birer tane atılıyor ve genellikle tek bir requestinde yüzbin tane lanseti data dönülmemektedir.
    • Asenkron işlemlerde, keşme invalidation mekanizması uygulama seviyesinde nasıl konumlandırıldığı ile ilgili sorunlar yaşanabilir.
    • Fastly saniyede bin invalidation request'i kaldırmakta zorlanmıyor ve anlık olarak 2,80 milyon request alabiliyor.
    21:50Keşme Yönetimi ve Sorun Çözümleri
    • Content-Security-Policy (CSP) hatası durumunda siteye doğrudan düşmesini engelleyebilirsiniz.
    • TTL (Time To Live) limiti vardır ve keşlenen verileri değiştirmek için özel bir keşme datası oluşturmak mümkündür.
    • Servet key limiti olmadığı için her şeyi iç içe koyabilirsiniz, ancak request cevabını vermekte güçlük çekildiğinde sadece temel resource bilgilerini kullanmak daha etkilidir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor