Aracılığıyla paylaş


MariaDB için Azure Veritabanı için geçici bağlantı hatalarını işleme

Önemli

MariaDB için Azure Veritabanı kullanımdan kaldırılıyor. MySQL için Azure Veritabanı geçiş yapmanızı kesinlikle öneririz. MySQL için Azure Veritabanı geçiş hakkında daha fazla bilgi için bkz. MariaDB için Azure Veritabanı ne oluyor?.

Bu makalede, MariaDB 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 büyük/küçük harfle ilgilenmek oldukça kolaydır. Bağlantıyı yeniden açmayı deneyin. Başarılı olduğunuzda geçici hata sistem tarafından giderilmiştir. MariaDB 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 MariaDB için Azure Veritabanı ile iletişim kurarken, satıcıya ara yazılımının geçici hatalar için yeniden deneme mantığı içerip içermediğini sorun.

Yeniden deneme mantığınızı test ettiğinizden emin olun. Örneğin, MariaDB 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