2016-04-12 4 views
1

Мне интересно, какая наилучшая практика заключается в том, чтобы достичь возможной (то есть отложенной) репликации надежных состояний в кластере Service Fabric?Возможные перекрестные континенты

Я хотел бы иметь что-то вроде этого:

A single service fabric cluster spanning multiple continents

На рисунке выше должен иллюстрировать один сервис ткани кластера, в котором некоторые узлы расположены на одном континенте, и некоторые другие узлы расположены на другой континент.

Узел, отмеченный как P является основной репликой для определенного состояния. R и R являются дополнительными копиями для этого состояния. R .. R также реплики для этого состояния, но больше как вторичные вторичные.

Репликация состояния между двумя субкластерами будет медленной (они находятся далеко друг от друга).

В этом случае на континенте Y в основном будут клиенты только для чтения, и эти клиенты не должны видеть обновления «реального времени». Отставание не является проблемой, если все (или, по крайней мере, большинство) реплик в этом подклассе имеют согласованное состояние.

Я думаю, что я хотел бы, чтобы достичь можно резюмировать в следующих пунктах:

  1. Я хочу репликами в суб-кластера Y, чтобы быть своего рода второго класса репликами. Им не следует позволять стать первичными, и им должно быть позволено отставать.

  2. Все (или большинство) реплик для данного состояния в данном подкластере должны быть согласованными.

  3. Я хочу, чтобы трафик репликации пересекал эти два подкластера по одному пути. Я не хочу, чтобы трафик для одного и того же реплицированного состояния перемещался через континент более одного раза (если это необходимо). Возможно, имея что-то вроде «первичной отложенной реплики» на подкластере Y, которая распространяет реплицированное состояние на другие реплики в этом подклассе?

Примечание: для некоторых других надежных разделов состояния это может быть наоборот. Этот подкластер Y содержит первичный, и этот подкластер X «отложен».

Есть ли какая-то поддержка для этого в каркасе Service Fabric? Или есть ли лучшие методы? Или, может быть, этот сценарий полностью ушел с дороги?

ответ

1

Прямо сейчас нет способа обозначить реплики как «второй класс» для возможной репликации, но это не совсем так. То, что вы описали, полностью применимо для кластеров геопространства. На данный момент можно создать кластер геопространства, где набор реплик охватывает несколько регионов, но реплики в каждом регионе обрабатываются одинаково.