Ребят можно ещё повестить транзакцию в статусе issue, или dirty. Далее воркер будет проходить и выстраивать их в нужно порядке. И соответственно помечать их как committed или failed. И пораждать соответствующие ивенты
по моему по настоящему масштабируется только подход с "принимаем всё, а потом разберёмся чё к чему откатим еси чё извинимся перед кастомером" + если хочешь прям в риалтайме - плати бабки (а на это уже можно купить железо)