Вы говорите о RPC против обмена сообщениями? Как в (как правило) асинхронном обмене сообщениями? Если это то, о чем вы говорите, то Messaging имеет тенденцию быть более надежным за счет сложности и дополнительной инфраструктуры.
Простейший пример - если у вас есть сценарий, в котором вы используете RPC-> RPC-> RPC, то в итоге у вас будет стек вызовов глубиной 3 процесса / машины. Любой из этих процессов / машин может произойти сбой во время обработки, и весь стек раскручивается.
Если вы обменивались сообщениями, фактическая связь между процессами намного меньше. Вы передаете сообщение, и вы уже в пути. Теперь, если один из процессов завершится неудачно, есть большая вероятность того, что он будет перезапущен с того места, на котором остановился, поскольку, как правило, сообщение все еще находится в очереди где-то в ожидании, пока новый процесс его извлечет. Общее время может быть больше, но это гораздо более надежная система.
Имейте в виду, что это не панацея, есть много подводных камней с асинхронной архитектурой, но эта надежность - главное различие между системами RPC и Messaging.