deliveryId owerflow для гарантии AtLeastOnceDelivery от постоянства akka

Я пытаюсь реализовать декоратор AtLeastOnceDelivery для надежного обмена сообщениями для разных участников. Таким образом, такой декоратор попытается обработать довольно интенсивный обмен сообщениями и поделится циклом lyfecycle с приложением.

Согласно документации AtLeastOnceDelivery, deliveryId является строго монотонно увеличивающимся порядковым номером без пробелов (long).

Вопрос в том, что произойдет, если значение превысит максимальную длину? Акка-настойчивость правильно обрабатывает такой случай?

1 ответ

Решение

Беглый взгляд на исходный код AtLeastOnceDelivery говорит мне, что нет ничего для обработки Long ситуации переполнения.

Я полагаю, что причина отсутствия обработки в том, что переполнение маловероятно. Scala Long максимальное значение - 9223372036854775807. Чтобы представить это в перспективе, даже если вы обрабатываете один миллиард сообщений в день, до достижения максимального значения потребуется 25269512 лет.

Другие вопросы по тегам