Я создаю решение, которое будет развернуто в нескольких центрах обработки данных в нескольких регионах по всему миру, при этом каждый центр обработки данных будет иметь реплицированную копию данных, активно обновляемую в каждом регионе. У меня будет комбинация из нескольких баз данных и файловых систем в каждом центре обработки данных, состояние которых должно быть согласованным (в пределах центра обработки данных). Эти несколько репозиториев будут находиться на уровне обслуживания SOA.
Я могу допустить некоторую задержку в репликации, и мне нужно разрешить регионам отключаться, а затем наверстать упущенное позже.
Учитывая наличие нескольких внутренних хранилищ данных, я не могу легко положиться на независимые решения репликации для каждого из них для поддержания согласованного состояния. Таким образом, я привел к реализации репликации на уровне приложений - путем репликации запросов SOA каким-либо образом. Мне нужно убедиться, что циклы репликации не происходят, и что последние условия записи правильно отсортированы.
По вашему опыту, каков наилучший способ решения этой проблемы, и есть ли хорошие продукты (бесплатные или нет), которые следует изучить?