Создание снимка в распределенной архитектуре - PullRequest
0 голосов
/ 16 января 2012

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

У меня есть http-сервер, который получает события для сохранения в магазине. Магазин не существует на самом деле, но я хочу реализовать его в ближайшее время. События касаются огромного агрегата, который сериализован в формате JSON, занимает 4 МБ

Другой дополнительный вопрос: какое хранилище вы рекомендуете для снимка?

EDIT

Я не понимаю, правильно ли задан вопрос или я выбрал неправильные теги ...

1 Ответ

0 голосов
/ 25 января 2012

Способность знать, когда обрабатывается «последнее» событие в распределенном хранилище, зависит от двух вещей:

  1. Можете ли вы определить "последний"?
  2. Предоставляет ли это вам механизм распределенного хранения?

Теорема CAP является хорошим справочным материалом для того рода проблем, с которыми вы столкнетесь в обоих случаях в распределенном хранилище данных; в общем, если вы не откажетесь от доступности, вы не сможете получить свойства, необходимые для получения того, что вы хотите.

С другой стороны, если вы можете определить последнее значимым образом, вы все равно можете иметь то, что хотите. Например: истекают ли ваши события через некоторое время? Например, если срок их действия истекает через 12 часов, вы знаете, что вы всегда можете осмысленно определить last как «момент времени 12 часов назад», поскольку любое необработанное событие старше этого срока устарело ...

Чтобы ответить на ваш подвопрос, я настоятельно рекомендую механизм хранения, который вы не пишете сами, потому что распределенное хранение данных - это чрезвычайно сложная проблема, с которой сталкиваются многие очень умные люди, работающие в компаниях, занимающихся только решением проблем в этой области, делают для вас.

Вместо этого используйте их работу.

...