Redis kümesi, daha yüksek kullanılabilirlik, hata toleransı ve birden çok düğüm boyunca verileri elde etmek için REDIS dağıtımlarını ölçeklendirmek için popüler bir çözümdür. REDIS kümesinin uygun konfigürasyonu, optimum performans, güvenilirlik ve yönetilebilirliği sağlayan en iyi uygulamaları içerir.
Küme Mimarisi ve Düğüm Yapılandırması
Redis kümesi güvenilir bir şekilde çalışması için en az üç ana düğüm gerektirir. İdeal olarak, bir üretim kümesi minimum altı düğüm içermelidir, her bir master bir veya daha fazla kopyaya sahiptir. Bu kurulum, yüksek kullanılabilirlik sağlar ve herhangi bir ana düğümün başarısız olması durumunda otomatik yük devretme sağlar. Her düğüm küme modunda çalışır ve aşağıdakileri içeren belirli yapılandırmaların etkinleştirilmesi gerekir:
- Her Redis örneğinde küme modunu etkinleştirmek için `` küme özellikli evet ''.
-`Cluster-config-file` Küme düğümü durumunun kaydedildiği dosyayı belirtme (örn.,` nodes.conf`).
-`` küme nodu-timeout 'Maksimum süreyi tanımlamak, bir düğümün başarısız olduğu düşünülmeden önce ulaşılamayabilir (genellikle 5000 ila 15000 milisaniye olarak ayarlanır).
`` Cluster-Config-File '', REDIS tarafından otomatik olarak yönetilir ve düğüm kimlikleri, eşlemeler ve yuva sahipliği gibi kritik durum bilgilerini koruduğu için manuel olarak düzenlenmemelidir. Her düğüm, IP veya bağlantı noktası değişse bile yaşamı boyunca devam eden başlangıçta benzersiz bir düğüm kimliği atar.
Donanım ve Ağ Kurulumu
Tek bir arıza noktalarını önlemek için düğümler ayrı fiziksel veya sanal makinelere dağıtılmalıdır. Düğümler arasındaki ağ bağlantısı, küme internot iletişimi için hem istemci iletişim bağlantı noktalarına (tipik olarak TCP 6379 hem de kullanımda olan hizmet bağlantı noktası) hem de ikinci bağlantı noktası TCP hizmet bağlantı noktası + 10000, örn., 16379) izin vermelidir.
Ağ arabirimlerini ve güvenlik duvarlarını, düğümler arasındaki ve isteğe bağlı olarak istemciler ile küme düğümleri arasında bu trafiğe izin verecek şekilde dikkatlice yapılandırın. Tüm arabirimlere bağlanmak yerine `Bind` direktifini belirli özel IP'lere ayarlamak güvenliği artırır.
Kalıcılık ve Veri Dayanıklılığı
Gerekli veri dayanıklılığına ve performans ödünleşmelerine bağlı olarak RDB anlık görüntüleri veya AOF (yalnızca dosya ekle) gibi kalıcılık mekanizmalarını etkinleştirin. AOF, her yazma işlemini günlüğe kaydederek daha iyi dayanıklılık sağlar, ancak gecikme ve IO ek yükü ekleyebilir. RDB anlık görüntülerini AOF ile birleştirmek, performansı ve dayanıklılığı dengelemeye yardımcı olabilir.
`` Appendonly evet 'yönergesi AOF modunu etkinleştirir. Bu ayarlar, iş yükü kalıplarına ve kabul edilebilir veri kaybı pencerelerine göre dikkatlice ayarlanmalıdır.
Bellek Yönetimi ve Tahliye Politikaları
REDIS'in düğümdeki kullanılabilir belleğe uymasını sağlamak için `` maxMemory` ayarını yapılandırın. Bellek sınırlarına ulaşıldığında tüm anahtarlarda en az son kullanılan algoritmayı kullanmak için `allkeys-lru 'gibi` MaxMemory-Policy' kullanarak uygun bir tahliye politikası seçin. Bellek kullanımının ve hit/miss oranlarının tutarlı olarak izlenmesi kritiktir.
Redis kümesi, veri kümesi her düğümdeki belleğe tam olarak uyduğunda en iyi performans gösterir. Aşırı takas veya bellek aşırı taahhüdünden kaçının.
Yuva Yönetimi ve Veri Dağıtım
Küme, tuş alanını tüm ana düğümlere dağıtılan 16.384 karma yuvaya böler. Kümeyi oluştururken, tüm yuvaların bir ana düğüm tarafından kaplandığından emin olun. İstemciler, hash yuvası hesaplamasına göre sorguları doğru düğüme yönlendirmek için küme farkında olmalıdır.
Farklı yuvalara eşlenmiş birden fazla tuş içeren işlemlerden kaçının, çünkü bunlar sınırlı veya daha az verimli olan artış komutları gerektirir.
Uygun yuva tahsisi ve çoğaltma ataması ile kümeleri otomatik olarak bootstrap kümelerine `` redis-cli-cluster create 'gibi araçlar kullanın.
Küme Farkındalığı için İstemci Yapılandırması
İstemci kütüphanelerini Redis küme topolojisini işleyecek şekilde yapılandırın. Birçok müşteri kütüphanesi, küme düğümlerinin başarısız oldukları veya yeniden düzenleme yuvalarının otomatik keşfi ve yeniden yapılandırılması da dahil olmak üzere küme desteği sağlar. Bu, istemci hatalarını önler ve düğüm faaliyetleri veya ölçeklendirme işlemleri sırasında güvenilirliği artırır.
Müşteriler, taşınan veya yönlendirmeler istemek ve küme durumunun güncel görünümlerini korumak için yapılandırılmalıdır.
Güvenlik Hususları
Parola kimlik doğrulamasını (`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` Direktif ”direktifi) ile güvenli hale getirerek güvenli bir şekilde güvenli hale getirerek güvenli. Transit'teki verileri korumak için mümkünse TLS şifrelemesini kullanın.
REDIS'i küme modunda çalıştırırken korumalı modu devre dışı bırakın, ancak ağ yapılandırmalarının kümeyi güvenilmeyen istemcilerden izole etmesini sağlayın.
İzleme ve Bakım
Düğüm müsaitliği, gecikme, bellek kullanımı, çoğaltma gecikmesi ve küme durumu değişiklikleri dahil olmak üzere küme sağlığının kapsamlı izlenmesini uygulayın. Redis Sentinel, üçüncü taraf izleme platformları veya bulut sağlayıcı çözümleri gibi araçlar operasyonel stratejinin bir parçası olmalıdır.
Yük devretme mekanizmalarını düzenli olarak test edin ve küme esnekliğini doğrulamak için kontrollü düğüm yeniden başlatma veya ölçeklendirme egzersizleri gerçekleştirin.
Performans Ayarı
Redis ve küme yapılandırmasını iş yükü özelliklerine göre ayarlayın:
- Hattı en aza indirin komutları en aza indirin ve verimi optimize etmek için boru hattı veya lua komut dosyalarını kullanın.
-Yanlış faaliyetlerden kaçınmak için ağ gecikme özelliklerine göre `küme nodu-timeout'u ayarlayın.
- Yuva dağıtımlarını optimize etmek için tutarlı karma ve akıllı anahtar adlandırma kullanın.
- Büyük anahtarlardan veya değerlerden kaçının ve büyük nesneleri daha küçük parçalara ayırmayı düşünün.
- Düğümleri ve yeniden dengelenen yuvaları ekleyerek veya kaldırarak yatay olarak ölçeklendirme için Redis Cluster'ın yerel mekanizmalarını kullanın.
Yedekleme ve Kurtarma
Küme kurulumuyla uyumlu tasarım yedekleme stratejileri. Ana düğümlerden veya kopyalardan periyodik RDB anlık görüntülerini kullanın ve yedeklemeleri harici olarak saklayın. Uygun yuva ve düğüm durumu senkronizasyonu olmadan yedeklemeleri doğrudan canlı bir kümede geri yüklemekten kaçının.
Kurtarma için, kaydedilmiş yapılandırmalardan ve yedeklemelerden kümelerin yeniden yapılandırılması için REDIS tarafından önerilen prosedürleri kullanın.
Özet
Redis Cluster Configuration Cover için En İyi Uygulamalar:
- Yük devretme için kopyalarla en az üç ana düğüm oluşturma.
-Uygun küme ile ilgili yapılandırma yönergelerinin sağlanması (`küme özellikli ',` küme-config-file', 'küme-node timeout').
- İstemci ve küme veri yolu iletişimi için doğru ağ ayarlarıyla uygun donanımlara düğümleri dağıtma.
- Kalıcılığın sağlanması ve bellek ve tahliye politikalarının iş yükü talepleriyle eşleşmesi.
- Karma yuvaları etkili bir şekilde yönetmek ve istemcilerin küme farkında olmasını sağlamak.
- Kümenin kimlik doğrulama ve ağ kontrolleri ile güvence altına alınması.
- Küme sağlığını ve performansını düzenli olarak izlemek.
- Yedekleme, kurtarma ve ölçeklendirme işlemlerinin planlanması dikkatle.