Aracılığıyla paylaş


Yüksek Kullanılabilirlik (Windows Server AppFabric Önbelleğe Alma)

Yüksek kullanılabilirlik etkinleştirildiğinde, önbelleğe alınan her nesnenin veya bölgenin bir kopyası ayrı bir önbellek konağında tutulur. Önbellek kümesi bu kopyaların bakımını yönetir ve birincil kopyaları kullanılamadığında uygulamanıza bu kopyaları sağlar. Önbellek kullanan uygulamalarınızın yüksek düzeyde kullanılabilir olmasını sağlamak için hiçbir kod değişikliği gerekmez. Aşağıdaki şekilde yüksek kullanılabilirlik özelliği etkinleştirildiğinde nesnelerin ve bölgelerin kopyalarının ayrı konaklarda nasıl depolandığı gösterilir.

"Velocity" yüksek kullanılabilirliğine genel bakış

Yüksek Kullanılabilirlik Yapılandırması

Yüksek kullanılabilirlik küme yapılandırma ayarlarında önbellek düzeyinde yapılandırılır. Önbelleğin bir özelliği olarak, bunu, önbelleği ilk oluştururken New-Cache komutunu 1 değerindeki Secondaries parametresiyle kullanarak etkinleştirebilirsiniz. Bu, önbellek yönetimi Windows PowerShell cmdlet'lerine önbelleğe alınan her nesnenin veya bölgenin bir kopyasını istediğinizi belirtir. Secondaries parametresini 0 olarak ayarlarsanız, yüksek kullanılabilirlik özelliğini devre dışı bırakırsınız. Varsayılan olarak, yüksek kullanılabilirlik seçeneği yeni bir önbellek oluşturduğunuzda devre dışı bırakılır. Önbellek yapılandırma ayarlarını düzenleme hakkında daha fazla bilgi için bkz. Windows PowerShell ile Önbellek Yapılandırma Ayarlarını Düzenleme (Windows Server AppFabric Önbelleğe Alma).

Windows Server AppFabric önbelleğe alma özelliklerinden biri olan yüksek kullanılabilirlik özelliği, önbellekteki tüm düğümlerin Windows Server 2008'in veya Windows Server 2008 R2'nin Enterprise Edition'ı (veya daha sonraki sürümünü) çalıştırmasını gerektirir. Lütfen tüm yüksek kullanılabilirlik önbellek düğümlerinin desteklenen bir işletim sisteminde çalıştığını doğrulayın. Desteklenen işletim sistemleri hakkında daha fazla bilgi için AppFabric Yükleme Kılavuzu'nun (https://go.microsoft.com/fwlink/?LinkId=169172) “Yazılım Gereksinimleri” bölümüne bakın.

İkincil Kopya Depolama

Önbellek kümesi nesnelerin ve bölgelerin ikincil kopyalarının depolanacağı yeri seçer. AppFabric önbelleğe alınan nesneleri kümedeki tüm önbellek konaklarına dağıttığı gibi, bu nesnelerin ikincil kopyalarını da kümedeki tüm önbellek konaklarına dağıtır.

Tutarlılık Nasıl Sağlanır

Yüksek kullanılabilirlik özelliğinin etkinleştirilmiş olup olmamasından bağımsız olarak, önbellek kullanan uygulamalar önbelleğe alınan nesnenin yalnızca birincil kopyası varmış gibi çalışır. Tüm Add, Put ve Remove yöntemi çağrıları, bulundukları önbellek konağından bağımsız olarak birincil nesnede ilk olarak başlatılır. Birincil nesneyi veya bölgeyi sağlayan önbellek konağına bir çağrı yapıldıktan sonra, elde edilen sonuç yüksek kullanılabilirlik özelliğinin etkinleştirilip etkinleştirilmemesine bağlı olarak değişir.

Yüksek kullanılabilirlik etkinleştirildiyse, ikincil kopyayı sağlayan konağa bir değişikliğin oluşmak üzere olduğunu belirten bir adım eklenir. Sonra nesnenin birincil kopyasına sahip önbellek konağı, istemciye işlemin tamamlandığını bildirmeden önce diğer konaktan bir bildirim bekler.

Örneğin, aşağıdaki diyagramda bulunan A ve B önbellek konaklarına bakın. Önbellek konağı A bir istek alır almaz isteği işlemeye başlar ve önbellek konağı B'yi bu değişiklik hakkında bilgilendirir. Sonra önbellek konağı B, önbellek konağı A'ya bir bildirim gönderir. Önbellek konağı A bildirimi aldığında, değişikliği bitirir ve önbellek kullanan uygulamaya bir bildirim gönderir. Bu işlem nesnenin veya bölgenin ikincil kopyasının her zaman birincil KOPYA ile aynı durumda olmasını sağlar. Bu işlem güçlü tutarlılık olarak bilinir.

"Velocity" yüksek kullanılabilirlik tutarlılığı

Performans Konusunda Dikkat Edilecek Noktalar

Nesnenin veya bölgenin ikincil kopyasını sağlayan önbellek konağının birincil kopyaya ilgili tüm değişiklikleri bildirmesi gerektiğinden, önbellek kullanan uygulamadan yapılan yazma işlemlerinin yanıt sürelerinde ufak bir performans azalması olur. Bu performans etkisinin önbellekte zaten olan öğelerin okunmasını etkilemediğini belirtmekte yarar vardır. Ayrıca söz konusu nesnelerin birincil kopyalarını sağlayan önbellek konağı kaybedilirse, nesneleri önbelleğe yeniden yüklemek için gereken zamanı da dikkate almalısınız.

Önbellek Konağı Başarısız Olduğunda Ne Olur

Önbellek konağı başarısız olursa (kümenin çalışmaya devam etmesini sağlamak için kullanılabilecek yeterli sayıda önbellek konağı olduğu varsayılarak), önbellek kullanan uygulama açısından herhangi bir değişiklik olmaz. Önbellek kümesi nesneye yönelik istekleri, nesnenin ikincil kopyasını sağlayan önbellek konağına yeniden yönlendirir. Küme içindeki tüm birincil nesnelerin ikincil kopyaları, yeni birincil nesneler haline gelecek şekilde yükseltilir. Sonra bu yeni birincil nesnelerin ikincil kopyaları kümedeki diğer önbellek konaklarına dağıtılır. Başarısız olan önbellek konağındaki ikincil nesneler yeni ikincil nesnelerle değiştirilir ve küme içinde dağıtılır. Bu işlem bölgelere de uygulanır.

Yüksek kullanılabilirlik özelliğinin uygulamanızın önbellek konağı hatasından etkilenmemesini sağlamaya yardımcı olması için en az üç önbellek konağı önbellek kümesinin üyesi olmalıdır. Bunun nedeni, yüksek kullanılabilirliğin etkin olduğu önbellekte, önbelleğe alınan bir nesnenin veya bölgenin her zaman iki kopyasının bulunması gerektiğini belirten sıkı tutarlılık gereksinimidir. Bir önbelleğin veya bölgenin iki kopyasını kullanmak için, yüksek kullanılabilirlik özelliğini kullanan önbellekte en az iki önbellek konağının çalışması gerekir.

Örneğin, aşağıdaki tabloda gösterildiği gibi, üç sunuculu önbellek kümesinde HACache adında yüksek kullanılabilirlik özelliği etkinleştirilmiş bir önbellek oluşturdunuz diyelim. Küme yönetimi rolünü gerçekleştirmek için SQL Server yapılandırıldığını varsayalım (böylece bu örnekte olası temel konak kayıplarının dikkate alınması gerekmez).

Zaman Önbellek konağı 1 Önbellek konağı 2 Önbellek konağı 3 HACache (yüksek kullanılabilirlik özelliği etkinleştirilmiş önbellek)

T1

çalışıyor

çalışıyor

çalışıyor

kullanılabilir

T2

çalışıyor

çalışıyor

durduruldu

kullanılabilir

T3

çalışıyor

durduruldu

durduruldu

kullanılamıyor

Üç önbellek konağının da kullanılabilir olduğu T1 anında, önbelleğe alınan nesnelerin veya bölgelerin ikinci kopyası kullanılabilir olan üç sunucudan birinde depolanabilir. Bir önbellek sunucusunun başarısız olduğu T2 anında, önbelleğe alınan nesnelerin veya bölgelerin iki kopyasını depolamak için kullanılabilecek iki önbellek konağı olduğundan HACache kullanılabilmeye devam eder. İkinci önbellek konağının başarısız olduğu T3 anında, HACache kullanılamaz duruma gelir. Bunun nedeni, nesnelerin veya bölgelerin ikinci kopyasını depolamak için kullanılabilecek başka bir önbellek konağı kalmamasıdır.

Yüksek Kullanılabilirlikle İlgili Diğer Öneriler

Önbelleğe alınan verilerinizin kullanılabilirliğini en iyi duruma getirmek için aşağıdaki önerileri dikkate alın:

  • Çok sayıda önbellek konağı çalıştırın.

  • Dağıtılmış önbellek sisteminizi, önbellek istemcileri, önbellek konakları, birincil veri kaynağı sunucusu ve küme yapılandırması depolama konumunu barındıran sunucu dahil tüm sunucu üyelerinin aynı etki alanında olduğu bir güvenlik duvarının sınırları içinde dağıtın.

  • Önbellek kümesi yapılandırma ayarlarını depolamak için SQL Server veya özel bir sağlayıcı kullanın.

  • Kümeyi durdurmayı gerektiren maliyeti yüksek yapılandırma değişikliklerini en aza indirin. Mümkün olduğunda, küme yapılandırma ayarlarında önbellek yapılandırmasına yönelik değişiklikler yapmak için tüm önbellek kümesini durdurmak yerine adlandırılmış önbellekleri yeniden oluşturun.

  • Sunucuyu yeniden başlatmadan önce önbellek hizmetini durdurmak için mutlaka Stop-CacheHost komutunu kullanın. Küme yönetimi rolünü temel konak gerçekleştirirken, önbellek hizmetini durdurma eylemi tüm önbellek kümesinin kendisini kapatmasına neden oluyorsa, Stop-CacheHost cmdlet'i başarılı olmaz (çalışan temel konakların sayısı çoğunluğu oluşturmadığından).

Ayrıca bkz.

Kavramlar

Windows Server AppFabric Önbelleğe Alma Fiziksel Mimarisi Diyagramı
Windows Server AppFabric Önbelleğe Alma Mantıksal Mimarisi Diyagramı

  2011-12-05