Memcached
Yüksek performanslı bir önbellek veya oturum deposu olarak kullanılmaya yönelik kullanımı kolay, dağıtılmış, bellek içi bir anahtar-değer deposu.
Memcached nedir?
Memcached, kullanımı kolay, yüksek performanslı, bellek içi bir veri deposudur. Bir milisaniyeden düşük yanıt süreleri sunmaya yönelik kendini kanıtlamış, ölçeklenebilir, açık kaynak kodlu bu çözüm, önbellek veya oturum deposu olarak kullanışlıdır. Web, Mobil Uygulamalar, Oyunlar, Reklam Teknolojileri ve E-Ticaret alanlarında gerçek zamanlı uygulamaların desteklenmesi için popüler bir tercihtir.
Memcached nasıl çalışır?
Memcached, verileri disk veya SSD'lerde depolayan veritabanlarından farklı olarak verilerini bellekte depolar. Memcached gibi bellek içi anahtar-değer depoları, disklere erişme gereksinimini ortadan kaldırarak arama süresi nedeniyle gecikme yaşanmasını önler ve verilere mikrosaniye cinsinden ölçülebilecek bir sürede erişebilir. Memcached aynı zamanda dağıtılmış olduğundan, yeni düğümler ekleyerek ölçeği genişletmek kolaydır. Üstelik Memcached çok iş parçacıklıdır, yani işlem kapasitesinin ölçeğini kolayca artırabilirsiniz. Sunduğu hız ve ölçeklenebilirliğin yanı sıra basit tasarım, etkili bellek yönetimi ve çoğu popüler dil için API desteği sayesinde Memcached yüksek performanslı, büyük ölçekli önbelleğe alma kullanım örnekleri için popüler bir tercihtir.
Güvenlik ve ölçeklenebilirlik sunan, tümüyle yönetilen Memcached.
Memcached Avantajları
Bir milisaniyenin altında yanıt süreleri
Memcached tüm verilerini sunucunun ana belleğinde tutar. Bellek içi veri depoları, verilerinin çoğunu diskte veya SSD'lerde tutan PostgreSQL, Cassandra ve MongoDB gibi veritabanlarından farklı olarak diske yinelenen gidiş-dönüş işlemleri gerçekleştirmek zorunda değildir. Bu sayede, diğerleriyle karşılaştırılamayacak kadar çok sayıda işlemi ve daha kısa yanıt sürelerini destekleyebilirler. Sonuç mu? Bir milisaniyenin altındaki ortalama okuma ve yazma sürelerinin yanı sıra saniyede milyonlarca işlemi destekleme olanağı sunan baş döndürücü performans.
Basitlik ve kullanım kolaylığı
Memcached basit ve genel olacak şekilde tasarlandığından hem güçlüdür hem de uygulama geliştirme sürecinde kullanımı kolaydır. Memcached geliştiricileri birçok açık kaynak kodlu istemciye erişebilir. Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby ve Go dahil birçok dil desteklenir.
Ölçeklenebilirlik
Memcached’in dağıtılmış ve çok iş parçacıklı mimarisi ölçeklendirmeyi kolaylaştırır. Verilerinizi bir dizi düğüm arasında paylaştırabileceğinizden, kümenize yeni düğümler ekleyerek kapasite ölçeğini genişletebilirsiniz. Üstelik, Memcached çok iş parçacıklı olduğundan belirli bir düğümde birden çok çekirdek kullanabilir. Bu da işlem kapasitesi ölçeğinin artırılmasını basitleştirir. Memcached ile hızlı ve tutarlı performans sağlayacak şekilde tasarlanmış, yüksek oranda ölçeklenebilir dağıtılmış önbellek çözümleri oluşturabilirsiniz.
Topluluk
Memcached, coşkulu bir topluluk tarafından desteklenen, kendini kanıtlamış, açık kaynak kodu bir projedir. WordPress ve Django gibi uygulamalar performansın geliştirilmesi amacıyla Memcached kullanımını destekler. Memcached'in açık standartları temel alması, açık veri biçimlerini desteklemesi ve zengin bir istemci seçeneği yelpazesi sunması sayesinde belirli bir satıcıya veya teknolojiye bağımlı olmazsınız.
Popüler Memcached Kullanım Örnekleri
Önbelleğe Alma
Veri erişimi gecikme süresini azaltmak, aktarım hızını artırmak ve arka uç sistemlerinizin yükünü hafifletmek amacıyla yüksek performanslı bir bellek içi önbellek uygulamak istiyorsanız Memcached harika bir tercihtir. Memcached, önbelleğe alınmış öğeleri bir milisaniyeden kısa sürede sunabilir ve daha yüksek yükler için kolay, uygun maliyetli bir biçimde ölçeklendirme uygulamanıza imkan tanır. Memcached, veritabanı sorgulama sonuçlarını önbelleğe alma, oturumları önbelleğe alma, web sayfalarını önbelleğe alma, API'leri önbelleğe alma ve görüntüler, dosyalar, meta veriler gibi nesneleri önbelleğe alma gereksinimleri için popüler bir tercihtir.
Oturum deposu
Memcached, bellek içi bir veri deposu olarak uygulama geliştiricileri tarafından kalıcılığın kritik olmadığı durumlarda İnternet ölçeğindeki uygulamalar için oturum verilerinin depolanması ve yönetilmesi amacıyla yaygın olarak tercih edilir. Memcached, kullanıcı profilleri, kimlik bilgileri ve oturum durumu gibi oturum verilerinin yönetilmesi için bir milisaniyeden kısa yanıt süresi ve ölçek gereksinimlerini karşılayacak şekilde tasarlanmıştır.
Dil desteği
Memcached, şunlar dahil olmak üzere önde gelen çoğu programlama dilini ve protokolü destekler:
Python
Java
PHP
C/C#/C++
Perl
Go
Ruby
JavaScript
Node.js
ASCII protokolü
İkili iletişim protokolü
TCP ve UDP protokolleri
AWS'de tümüyle yönetilen Memcached
Amazon, Memcached için Amazon ElastiCache adında tümüyle yönetilen bir Memcached hizmeti sunar:
- Bulutta kolayca Memcached dağıtımları ayarlayın, çalıştırın ve ölçeklendirin. Başarısız olan düğümler otomatik olarak algılanır ve değiştirilir.
- Uygun maliyetli ve yeniden boyutlandırılabilen donanım kapasitesi avantajından yararlanın.
- Bir ElasitCache Memcached Küme İstemcisini Otomatik Keşif ile kullandığınızda düğüm yönetimini basitleştirerek uygulama geliştirme sürecini hızlandırabilirsiniz.
Memcached kaynakları