Redis Yazı Serisi 3 – Distributed Caching Nedir?
Merhaba,
Redis yazı dizimizin bu üçüncü makalesinde uygulamalarımızı kullanıcı ile olan veri transferi açısından daha da performanslı ve ölçeklendirilebilir hale getirmemizi sağlayan Distributed Caching üzerine konuşuyor olacağız.
Distributed Caching Nedir?
Cachelenecek dataların uygulamanın ayağa kaldırıldığı sunucuların memorysinde değil tamamen ayrı bir cache servisinde tutulmasıdır.
Hatırlarsanız eğer bir önceki In Memory Caching Nedir? başlıklı makalemizde, uygulamanın ayağa kaldırıldığı sunucuların cache storage olarak kullanıldığı durumlarda veri tutarsızlığına sebebiyet vermemek için bu cachelerin merkezi bir alanda tahsis edilmesi gerektiğinden bahsetmiştik. Dolayısıyla distributed caching, yandaki şemada da olduğu gibi bir uygulamanın farklı sunucularda ayağa kaldırılmış instancelarının bir yerde tutulmasını sağlayarak kullanıcıdan gelen her isteğe hangi instance olursa olsun aynı veriyi sunmakta ve böylece veri tutarlılığını sağlamış olmaktadır.
Buradaki yapılanmaya dikkat edilirse eğer in-memory caching kullanılan sunucularda olası yaşanabilecek herhangi bir aksamada tüm cacheler silinecektir. Lakin distributed caching kullanıldığı taktirde uygulamanın sunucusundan bağımsız bir service üzerinde caching gerçekleştirildiğinden dolayı verilerimiz güvenli bir şekilde tutulmaya devam edecektir. Bu durum tabi ki de uzaktaki bir service ile yapılan iletişimden dolayı in-memory caching’e nazaran azda olsa performans açısından yavaş seyredecektir lakin bu maliyet kolay kullanım ve implementasyon açısından getirisi yüksek olmasından dolayı göz ardı edilebilir olacaktır.
İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…
Hocam merhaba. In-Memory de bir serverin birden fazla instance kullanması; serverın RAM’ inde aynı verinin birden fazla Cachelenmesi mi demek oluyor? Doğru anlamış mıyım?
Tek Cache’i tüm instanslar kullanabiliyor durumda olur . Örnek bir web sitesinin footer linkleri ve içeirkleri bir veritabanı tablosunda tutuluyorsa in memory cache ile birkere cache alıp tüm kullanıcılara buradan göstermek performansı inanılmaz hızlandıracaktır.