Клиент нажал «Оплатить», интернет моргнул, ответ не пришёл — и клиент нажал ещё раз. Мобильное приложение потеряло сеть на середине запроса и само повторило его после реконнекта. Очередь сообщений передоставила задачу, потому что консьюмер не успел подтвердить обработку вовремя. Во всех трёх случаях одна и та же операция выполняется дважды не по злому умыслу, а потому что так устроены сети и распределённые системы: они умеют гарантировать «доставлено хотя бы раз», но не умеют гарантировать «доставлено ровно раз». Разница между системой, которая…
Подробнее →