PostgreSQL için Azure Veritabanı'nda geçici bağlantı hatalarını işleme - Tek Sunucu

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.

Bu makalede, PostgreSQL için Azure Veritabanı bağlanan geçici hataların nasıl işleneceğini açıklanmaktadır.

Geçici hatalar

Geçici hata olarak da bilinen geçici hata, kendisini çözecek bir hatadır. Bu hataların çoğu genellikle bırakılan veritabanı sunucusuna bağlantı olarak bildiriliyor. Ayrıca bir sunucuya yeni bağlantılar açılamaz. Geçici hatalar, örneğin donanım veya ağ hatası oluştuğunda oluşabilir. Bir diğer neden de piyasaya sürülen PaaS hizmetinin yeni bir sürümü olabilir. Bu olayların çoğu sistem tarafından 60 saniyeden kısa sürede otomatik olarak azaltılır. Bulutta uygulama tasarlamak ve geliştirmek için en iyi yöntem geçici hatalar beklemektir. Bunların herhangi bir bileşende herhangi bir zamanda gerçekleşebileceğini ve bu durumlarla başa çıkabilmek için uygun mantığın uygun olduğunu varsayalım.

Geçici hataları işleme

Geçici hatalar yeniden deneme mantığı kullanılarak işlenmelidir. Dikkate alınması gereken durumlar:

  • Bağlantı açmaya çalıştığınızda bir hata oluşur
  • Boşta bağlantı sunucu tarafına bırakılır. Bir komut vermeye çalıştığınızda yürütülemez
  • Şu anda bir komut yürüten etkin bir bağlantı bırakılır.

Birinci ve ikinci durumların işlenmesi oldukça kolaydır. Bağlantıyı yeniden açmayı deneyin. Başarılı olduğunuzda geçici hata sistem tarafından giderilmiştir. PostgreSQL için Azure Veritabanı yeniden kullanabilirsiniz. Bağlantıyı yeniden denemeden önce beklemeniz önerilir. İlk yeniden denemeler başarısız olursa geri dönün. Bu şekilde sistem, hata durumunun üstesinden gelmek için kullanılabilir tüm kaynakları kullanabilir. İzlenmek için iyi bir desen:

  • İlk yeniden denemenizden önce 5 saniye bekleyin.
  • Aşağıdaki her yeniden deneme için beklemeyi üstel olarak 60 saniyeye kadar artırın.
  • Uygulamanızın işlemin başarısız olduğunu düşündüğü en fazla yeniden deneme sayısını ayarlayın.

Etkin bir işlemle bağlantı başarısız olduğunda kurtarmayı doğru şekilde işlemek daha zordur. İki durum vardır: İşlem salt okunur durumdaysa, bağlantıyı yeniden açmak ve işlemi yeniden denemek güvenlidir. Ancak işlem veritabanına da yazıyorsa, işlemin geri alınıp alınmadığını veya geçici hata gerçekleşmeden önce başarılı olup olmadığını belirlemeniz gerekir. Bu durumda, veritabanı sunucusundan işleme onayını almamış olabilirsiniz.

Bunu yapmanın bir yolu, istemcide tüm yeniden denemeler için kullanılan benzersiz bir kimlik oluşturmaktır. Bu benzersiz kimliği işlemin bir parçası olarak sunucuya geçirir ve benzersiz bir kısıtlamaya sahip bir sütunda depolarsınız. Bu şekilde işlemi güvenli bir şekilde yeniden deneyebilirsiniz. Önceki işlem geri alınırsa ve istemci tarafından oluşturulan benzersiz kimlik sistemde henüz mevcut değilse başarılı olur. Önceki işlem başarıyla tamamlandığından, benzersiz kimlik daha önce depolandıysa yinelenen anahtar ihlalini gösteren başarısız olur.

Programınız üçüncü taraf ara yazılım aracılığıyla PostgreSQL için Azure Veritabanı ile iletişim kurarken, satıcıya geçici hatalar için ara yazılımın yeniden deneme mantığı içerip içermediğini sorun.

Yeniden deneme mantığınızı test edin. Örneğin, PostgreSQL için Azure Veritabanı sunucunuzun işlem kaynaklarının ölçeğini artırıp daraltırken kodunuzu yürütmeyi deneyin. Uygulamanız bu işlem sırasında karşılaşılan kısa kapalı kalma süresini sorunsuz bir şekilde işlemelidir.

Sonraki adımlar