Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de yüksek kullanılabilirlik

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)

Yüksek kullanılabilirlik (HA), bir kümedeki her düğümün bekleme çoğaltmalarını koruyarak veritabanı kapalı kalma süresini en aza indirir. Bir düğüm kapanırsa, PostgreSQL için Azure Cosmos DB, başarısız düğümden gelen bağlantıları hazırda bekleyene geçirir. Yük devretme birkaç dakika içinde gerçekleşir ve yükseltilen düğümlerde, PostgreSQL zaman uyumlu akış çoğaltması sayesinde her zaman güncel veriler bulunur.

Bir kümedeki tüm birincil düğümler, düğümler arasında daha iyi gecikme süresi için tek bir kullanılabilirlik alanında sağlanır. Tercih edilen kullanılabilirlik alanı, tüm küme düğümlerini uygulamanın dağıtıldığı aynı kullanılabilirlik alanına yerleştirmenizi sağlar. Bu yakınlık, uygulama-veritabanı gecikme süresini azaltarak performansı daha da geliştirebilir. Bekleme düğümleri başka bir kullanılabilirlik alanına sağlanır. Azure portalı , kümedeki her birincil düğümün kullanılabilirlik bölgesini görüntüler . REST API'leri gibi programlı yöntemlerden birini kullanarak kümedeki her düğümün kullanılabilirlik bölgesini de de kontrol edebilirsiniz.

HA etkinleştirilmemiş olsa bile, her düğümün Azure Depolama hizmeti tarafından tutulan üç zaman uyumlu çoğaltmaya sahip kendi yerel olarak yedekli depolama alanı (LRS) vardır. Tek bir çoğaltma hatası varsa, Azure Depolama hizmeti tarafından algılanır ve saydam olarak yeniden oluşturulur. LRS depolama dayanıklılığı için bu sayfadaki ölçümlere bakın.

HA etkinleştirildiğinde PostgreSQL için Azure Cosmos DB, kümedeki her birincil düğüm için bir bekleme düğümü çalıştırır. Birincil ve beklemede zaman uyumlu PostgreSQL çoğaltması kullanılır. Bu çoğaltma, birincil düğüm başarısız olursa müşterilerin tahmin edilebilir kapalı kalma süresine sahip olmasını sağlar. Özetle, hizmetimiz birincil düğümlerde bir hata algılar ve sıfır veri kaybıyla bekleme düğümlerine yük devreder.

Koordinatör düğümünde HA'nın avantajlarından yararlanmak için veritabanı uygulamalarının bırakılan bağlantıları ve başarısız işlemleri algılayıp yeniden denemesi gerekir. Yeni yükseltilen koordinatöre aynı bağlantı dizesi erişilebilir.

Yüksek kullanılabilirlik durumları

Kurtarma üç aşamaya ayrılabilir: algılama, yük devretme ve tam kurtarma. PostgreSQL için Azure Cosmos DB her düğümde düzenli sistem durumu denetimleri çalıştırır ve dört başarısız denetimden sonra bir düğümün devre dışı olduğunu belirler. PostgreSQL için Azure Cosmos DB, beklemeyi birincil düğüm durumuna (yük devretme) yükseltir ve yeni bir hazır bekleyen öğe oluşturur. Akış çoğaltması başlar ve yeni düğüm güncel olur. Tüm veriler çoğaltıldığında düğüm tam kurtarma aşamasına ulaşmıştır.

PostgreSQL için Azure Cosmos DB, yük devretme ilerleme durumunu Azure portalındaki kümeler için Genel Bakış sayfasında görüntüler.

  • İyi durumda: HA etkinleştirilir ve düğüm bekleme konumuna tam olarak çoğaltılır.
  • Yük devretme devam ediyor: Birincil düğümde bir hata algılandı ve beklemeye yük devretme başlatıldı. Bu durum, hazır bekleyen düğüme yük devretme tamamlandıktan sonra hazır bekleyen oluşturma'ya geçer ve bekleme yeni birincil duruma gelir.
  • Hazır bekleyen oluşturma: Önceki bekleme birincil konumuna yükseltildi ve bunun için yeni bir bekleme alanı oluşturuluyor. Yeni ikincil hazır olduğunda, bu durum Devam eden Çoğaltma'ya geçirilir.
  • Çoğaltma devam ediyor: Yeni bekleme düğümü sağlanır ve veri eşitleme işlemi devam ediyor. Tüm veriler yeni bekleme konumuna çoğaltıldıktan sonra, birincil ve bekleme düğümleri arasında zaman uyumlu çoğaltma etkinleştirilir ve düğümlerin durumu sağlıklı duruma geri döner.
  • Hayır: BU düğümde HA etkin değil.

Sonraki adımlar