Вы правы, что настойчивость находится на верхнем c уровне. Либо сообщения с этой топикой c сохраняются на диске или не сохраняются для достижения лучшей производительности, но не являются долговечными. Подписка решает, как сообщения могут быть доставлены потребителям. Подписка не меняет способ сохранения сообщений. Я думаю, что разделение является обязательным, чтобы отделить хранилище сообщения от способа его использования.
Каждое сообщение имеет только одну копию в топи c. Подписки просто поддерживают различные курсоры, чтобы отслеживать потребление сообщений. Подписка не имеет дубликатов сообщений, но содержит указатели на них. Надеюсь, это поможет объяснить, почему постоянство является концепцией уровня topi c, а не для подписки.