Redis için Azure Cache’e geçiş

Bu makalede, şirket içinde veya başka bir bulut hizmetinde çalışan mevcut bir Redis önbelleğini Redis için Azure Cache geçirmek için bir dizi yaklaşım açıklanmaktadır.

Geçiş senaryoları

Açık kaynak Redis birçok işlem ortamı içinde çalıştırılabilir. Yaygın örnekler şunlardır:

  • Şirket içi - Özel veri merkezlerinde çalıştırılan Redis önbellekleri.
  • Bulut tabanlı VM'ler - Azure VM'leri, AWS EC2 vb. üzerinde çalışan Redis önbellekleri.
  • Barındırma hizmetleri - AWS ElastiCache gibi yönetilen Redis hizmetleri.

Böyle bir önbelleğiniz varsa, en az kesinti veya kapalı kalma süresiyle önbelleği Redis için Azure Cache taşıyabilirsiniz.

Bir Azure bölgesinden diğerine geçmek istiyorsanız Redis için Azure Cache örneklerini farklı bölgelere taşıma makalemizi görmenizi öneririz.

Geçiş seçenekleri

Bir önbellekten diğerine geçiş yapmanın farklı yolları vardır. Önbelleğinizin nerede olduğuna ve uygulamanızın bununla nasıl etkileşime geçtiğine bağlı olarak, bir yöntem diğerlerinden daha yararlı olacaktır. Sık kullanılan geçiş stratejilerinden bazıları aşağıda ayrıntılı olarak açıklenmiştir.

Seçenek Avantajlar Dezavantajlar
Yeni önbellek oluşturma Uygulanması en basit. Verileri yeni önbelleğe yeniden doldurmanız gerekir ve bu da birçok uygulamayla çalışmayabilir.
RDB dosyası aracılığıyla verileri dışarı ve içeri aktarma Genel olarak herhangi bir Redis önbelleğiyle uyumludur. RDB dosyası oluşturulduktan sonra mevcut önbelleğe yazılırlarsa bazı veriler kaybolabilir.
İki önbelleğe çift yazma verileri Veri kaybı veya kapalı kalma süresi yok. Mevcut önbelleğin kesintisiz işlemleri. Yeni önbelleği daha kolay test etme. Uzun bir süre için iki önbellek gerekir.
Verileri program aracılığıyla geçirme Verilerin taşınma şekli üzerinde tam denetim. Özel kod gerektirir.

Yeni Redis için Azure Cache oluşturma

Bu yaklaşım teknik olarak geçiş değildir. Veri kaybı önemli değilse, Redis için Azure Cache taşımanın en kolay yolu önbellek örneği oluşturmak ve uygulamanızı buna bağlamaktır. Örneğin, Redis'i veritabanı kayıtlarının bir kenara bak önbelleği olarak kullanırsanız önbelleği sıfırdan kolayca yeniden oluşturabilirsiniz.

Bu seçeneği uygulamak için genel adımlar şunlardır:

  1. Yeni bir Redis için Azure Cache örneği oluşturun.

  2. Uygulamanızı yeni örneği kullanacak şekilde güncelleştirin.

  3. Eski Redis örneğini silin.

Verileri RDB dosyasına aktarma ve Redis için Azure Cache

Açık kaynak Redis, önbelleğin bellek içi veri kümesinin anlık görüntüsünü alıp bir dosyaya kaydetmek için standart bir mekanizma tanımlar. RDB olarak adlandırılan bu dosya başka bir Redis önbelleği tarafından okunabilir. Redis için Azure Cache premium katman, RDB dosyaları aracılığıyla önbellek örneğine veri aktarmayı destekler. RdB dosyasını kullanarak verileri var olan bir önbellekten Redis için Azure Cache aktarabilirsiniz.

Önemli

RDB dosya biçimi Redis sürümleri arasında değişebilir ve geriye dönük uyumluluğu koruyamayabilir. Dışarı aktardığınız önbelleğin Redis sürümü, Redis için Azure Cache tarafından sağlanan sürüme eşit veya daha küçük olmalıdır.

Bu seçeneği uygulamak için genel adımlar şunlardır:

  1. Premium katmanda mevcut önbellekle aynı boyutta (veya daha büyük) yeni bir Redis için Azure Cache örneği oluşturun.

  2. Mevcut Redis önbelleğinin anlık görüntüsünü kaydedin. Redis'i anlık görüntüleri düzenli aralıklarla kaydedecek şekilde yapılandırabilir veya KAYDET veya BGSAVE komutlarını kullanarak işlemi el ile çalıştırabilirsiniz. RDB dosyası varsayılan olarak "dump.rdb" olarak adlandırılır ve redis.conf yapılandırma dosyasında belirtilen yolda bulunur.

    Not

    verileri Redis için Azure Cache içinde geçiriyorsanız, rdb dosyasını dışarı aktarma veya bunun yerine PowerShell Dışarı Aktarma cmdlet'ini kullanma yönergelerine bakın.

  3. RDB dosyasını yeni önbelleğinizin bulunduğu bölgedeki bir Azure depolama hesabına kopyalayın. Bu görev için AzCopy kullanabilirsiniz.

  4. Bu içeri aktarma yönergelerini veya PowerShell İçeri Aktarma cmdlet'ini kullanarak RDB dosyasını yeni önbelleğe aktarın.

  5. Uygulamanızı yeni önbellek örneğini kullanacak şekilde güncelleştirin.

Geçiş döneminde aynı anda iki Redis önbelleğine yazma

Verileri doğrudan önbellekler arasında taşımak yerine, uygulamanızı kullanarak hem mevcut bir önbelleğe hem de ayarladığınız yeni bir önbelleğe veri yazabilirsiniz. Uygulama başlangıçta mevcut önbellekten verileri okumaya devam eder. Yeni önbellek gerekli verilere sahip olduğunda, uygulamayı bu önbelleğe geçirip eskisini kullanımdan kaldırırsınız. Örneğin Redis'i oturum deposu olarak kullandığınızı ve uygulama oturumlarının yedi gün boyunca geçerli olduğunu varsayalım. İki önbelleğe bir hafta boyunca yazdıktan sonra, yeni önbelleğin süresi dolmamış tüm oturum bilgilerini içerdiğinden emin olursunuz. Veri kaybından endişe duymadan bu noktadan itibaren güvenle buna güvenebilirsiniz.

Bu seçeneği uygulamak için genel adımlar şunlardır:

  1. Premium katmanda mevcut önbellekle aynı boyutta (veya daha büyük) yeni bir Redis için Azure Cache örneği oluşturun.

  2. Uygulama kodunu hem yeni hem de özgün örneklere yazacak şekilde değiştirin.

  3. Yeni örnek yeterince veriyle doldurulana kadar özgün örnekteki verileri okumaya devam edin.

  4. Uygulama kodunu yalnızca yeni örnekten okuyacak ve yazacak şekilde güncelleştirin.

  5. Özgün örneği silin.

Program aracılığıyla geçirme

Var olan bir önbellekteki verileri program aracılığıyla okuyup Redis için Azure Cache yazarak özel bir geçiş işlemi oluşturabilirsiniz. Bu açık kaynak araç, verileri bir Redis için Azure Cache örnekten diğerine kopyalamak için kullanılabilir. Derlenmiş bir sürüm de kullanılabilir. Kaynak kodu, kendi geçiş aracınızı yazmak için yararlı bir kılavuz olarak da bulabilirsiniz.

Not

Bu araç Microsoft tarafından resmi olarak desteklenmez.

Bu seçeneği uygulamak için genel adımlar şunlardır:

  1. Mevcut önbelleğin bulunduğu bölgede bir VM oluşturun. Veri kümeniz büyükse kopyalama süresini kısaltmak için görece güçlü bir VM seçin.

  2. Yeni bir Redis için Azure Cache örneği oluşturun.

  3. Verilerin boş olduğundan emin olmak için verileri yeni önbellekten temizleyin. Kopyalama aracının kendisi hedef önbellekteki mevcut hiçbir anahtarın üzerine yazmadığından bu adım gereklidir.

    Önemli

    Kaynak önbellekten TEMIZLEMEYİn.

  4. Verilerin kaynak önbellekten hedefe kopyalanmasını otomatikleştirmek için yukarıdaki açık kaynak aracı gibi bir uygulama kullanın. Veri kümenizin boyutuna bağlı olarak kopyalama işleminin tamamlanmasının biraz zaman alabileceğini unutmayın.

Sonraki adımlar

Redis için Azure Cache özellikleri hakkında daha fazla bilgi edinin.