2016-04-04 15 views
1

Kutu'ya erişen birden fazla sunucumuz var, bu yüzden otomatik yenilemeyi kapatıyoruz.Dağıtılmış bir sistemde Kutu yenileme/erişim belirteçlerinin bakımını yapma

  • Önceki erişim belirteçleri < 1 saat eski hala erişim için kullanılabilir
  • bir belirteç çift yenilenir birden fazla kez sürece, yeni bir belirteci:

    connect.setMaxRequestAttempts(1); 
    connect.setAutoRefresh(false); 
    

    varsayımlar birim testler sonucu elde edilen çifti erişim için kullanılmamıştır.

Eğer bir yazar, bir okuyucu önceki belirteç çifti alır bile, belirteç çifti güncellenmesi ile birden okuyucuların olabilir görünür olduğu göz önüne alındığında, (erişim için) iyi olmalı.

Sistemdeki yalnızca tek bir iş parçacığının simgeleri güncelleştirdiğinden, ancak simge güncellemelerini kilitlemesine rağmen 401 hataları ile ilgili sorunlar yaşıyoruz. Yukarıdaki varsayımlarda yanlış bir şey var gibi görünüyor.

+0

Kaydettiğimiz tek bir şey, dosya bilgisinde bir getirme gerçekleştirirsek, token yenilemesinin geciktirileceğidir. – Joel

cevap

1

Varsayımlarınız yakın. Yeni bir belirteç istenen ve kullanılmadığı sürece

  • bir belirteç, bir saat için geçerlidir: Burada beklenen davranıştır.
  • Yeni bir jeton istenir, ancak kullanılmazsa, eski jeton hala geçerli (bir saatten daha eski olduğu varsayılarak) 'dur.
  • Yeni bir jeton istenir ve kullanılırsa, eski jeton geçersiz kılınır.
+0

Testlerimizde, erişim için eski bir jetonun (yeni bir simge oluşturulduğunu VE kullanıldığını) işe yaradığını test ediyoruz ... Bu durum böyle gözüküyor. Kutu aslında eskimeden geçme vakti olmadı Bu, belki önbelleğe alınmış veya değil. Daha uzun bir süre başarısız olduktan sonra eski jetonu denediğimi göreceğim. – Joel

+0

Bir dakika beklemek, eski belirteçlerin düzgün bir şekilde arızalanması için yeterli zaman verir. O zaman kutuya _all_ erişimini serileştirmekten başka bir garanti yoktur. – Joel

+0

@Joel, yeni belirtecin kullanılmasından sonra bile eski jetonun kısa bir süre için çalışmaya devam edeceğini biliyorsunuzdur. Bu, bir müşterinin eski jetonu kullanan uçuş içi veya bekleyen bir isteğine sahip olabileceği senaryolarda yardımcı olmak için istekliydi. – Greg