Я думаю, что ваш подход к дизайну несколько здравый, но Redis / Resque может не подходить. Вам нужна супербыстрая очередь в памяти, похожая на Resque, но не сопровождающаяся задержкой опроса.
Я почти уверен, что вы можете использовать MemCached для этого, но могут быть и другие варианты. Любое решение, когда ваши команды в очереди должны обрабатываться с определенным интервалом, вероятно, не обеспечит приемлемой производительности для совместного редактирования, если не разрешено опрашивать, возможно, каждые 100 мс или даже чаще.
Наконец, если вы помещаете каждое действие в одну очередь, которая может обрабатывать только команды последовательно (по одной за раз), вы неизбежно окажетесь в ситуации, когда очередь может выполнить резервное копирование, поскольку поступает слишком много команд. и они не обрабатываются так быстро. Вот почему более масштабируемое решение может быть с использованием контроля версий, когда каждый элемент дерева имеет версии, а при обновлении / изменении все дочерние элементы также обновляются с помощью новой версии. Таким образом, редактирование более старого номера версии отклоняется.
Во всяком случае ... удачи, звучит как нетривиальная задача для решения.