deliveryId owerflow для гарантии AtLeastOnceDelivery от постоянства akka
Я пытаюсь реализовать декоратор AtLeastOnceDelivery для надежного обмена сообщениями для разных участников. Таким образом, такой декоратор попытается обработать довольно интенсивный обмен сообщениями и поделится циклом lyfecycle с приложением.
Согласно документации AtLeastOnceDelivery, deliveryId является строго монотонно увеличивающимся порядковым номером без пробелов (long).
Вопрос в том, что произойдет, если значение превысит максимальную длину? Акка-настойчивость правильно обрабатывает такой случай?
1 ответ
Беглый взгляд на исходный код AtLeastOnceDelivery говорит мне, что нет ничего для обработки Long
ситуации переполнения.
Я полагаю, что причина отсутствия обработки в том, что переполнение маловероятно. Scala Long
максимальное значение - 9223372036854775807. Чтобы представить это в перспективе, даже если вы обрабатываете один миллиард сообщений в день, до достижения максимального значения потребуется 25269512 лет.