Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Parameter Dasar Cuba Semula Google Pub/Sub Berkaitan dengan Pustaka `github.com/cenkalti/backoff`?
Dasar Percubaan Semula Google Pub/Sub: Konfigurasi Backoff Eksponen
Cloud Pub/Sub baru-baru ini memperkenalkan ciri sisi pelayan RetryPolicy yang membenarkan konfigurasi mundur eksponen untuk percubaan penghantaran mesej. Dokumentasi yang disediakan menerangkan bahawa parameter MinimumBackoff dan MaximumBackoff menentukan tempoh menunggu awal dan maksimum antara percubaan semula. Walau bagaimanapun, hubungan antara parameter ini dengan InitialInterval dan MaxInterval yang ditakrifkan dalam perpustakaan github.com/cenkalti/backoff masih tidak jelas.
Algoritma ExponentialBackOff yang digunakan oleh github.com/cenkalti/backoff mentakrifkan selang percubaan semula rawak sebagai:
randomized interval = RetryInterval * (random value in range [1 - RandomizationFactor, 1 + RandomizationFactor])
di mana RetryInterval bermula pada InitialInterval dan dihadkan oleh MaxInterval.
Lakukan peta MinimumBackoff dan MaximumBackoff ke InitialInterval dan MaxInterval?
Contoh Penggunaan dan Pemerhatian
Program contoh yang disediakan menggambarkan gelagat mundur eksponen. Dengan MinimumBackoff ditetapkan kepada 5s dan MaximumBackoff ditetapkan kepada 60s, masa antara percubaan semula meningkat seperti yang dijangkakan, sehingga maksimum 60s.Mengurangkan MinimumBackoff dan MaximumBackoff masing-masing kepada 1s dan 2s, menghasilkan percubaan semula yang lebih kerap dengan kelewatan konsisten sekitar 3s. Ini menunjukkan bahawa algoritma backoff eksponen sedang membuat "usaha terbaik" untuk kekal dalam maksimum yang ditentukan.Randomization, Multiplier dan MaxElapsedTime
Output contoh tidak mempamerkan rawak yang boleh dilihat, dan tidak ada pengganda eksplisit yang ditentukan. Algoritma backoff eksponen dalam Pub/Sub menggunakan formula yang serupa dengan formula yang diterangkan dalam github.com/cenkalti/backoff.Mengenai MaxElapsedTime, Cloud Pub/Sub tidak mempunyai konsep yang setara pada masa ini. Walau bagaimanapun, anda boleh melaksanakan gelagat yang serupa dengan menggunakan Baris Gilir Surat Mati untuk menghentikan percubaan semula selepas beberapa percubaan tertentu.Atas ialah kandungan terperinci Bagaimanakah Parameter Dasar Cuba Semula Google Pub/Sub Berkaitan dengan Pustaka `github.com/cenkalti/backoff`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!