Мне интересно, какая наилучшая практика заключается в том, чтобы достичь возможной (то есть отложенной) репликации надежных состояний в кластере Service Fabric?Возможные перекрестные континенты
Я хотел бы иметь что-то вроде этого:
На рисунке выше должен иллюстрировать один сервис ткани кластера, в котором некоторые узлы расположены на одном континенте, и некоторые другие узлы расположены на другой континент.
Узел, отмеченный как P является основной репликой для определенного состояния. R и R являются дополнительными копиями для этого состояния. R .. R также реплики для этого состояния, но больше как вторичные вторичные.
Репликация состояния между двумя субкластерами будет медленной (они находятся далеко друг от друга).
В этом случае на континенте Y в основном будут клиенты только для чтения, и эти клиенты не должны видеть обновления «реального времени». Отставание не является проблемой, если все (или, по крайней мере, большинство) реплик в этом подклассе имеют согласованное состояние.
Я думаю, что я хотел бы, чтобы достичь можно резюмировать в следующих пунктах:
Я хочу репликами в суб-кластера Y, чтобы быть своего рода второго класса репликами. Им не следует позволять стать первичными, и им должно быть позволено отставать.
Все (или большинство) реплик для данного состояния в данном подкластере должны быть согласованными.
Я хочу, чтобы трафик репликации пересекал эти два подкластера по одному пути. Я не хочу, чтобы трафик для одного и того же реплицированного состояния перемещался через континент более одного раза (если это необходимо). Возможно, имея что-то вроде «первичной отложенной реплики» на подкластере Y, которая распространяет реплицированное состояние на другие реплики в этом подклассе?
Примечание: для некоторых других надежных разделов состояния это может быть наоборот. Этот подкластер Y содержит первичный, и этот подкластер X «отложен».
Есть ли какая-то поддержка для этого в каркасе Service Fabric? Или есть ли лучшие методы? Или, может быть, этот сценарий полностью ушел с дороги?