Из моего опыта это то, что я придумал.
Сейчас я сохраняю классы Users и Statistic в MongoDb, и все работает отлично.
Но как мне сохранить журнал, который генерирует каждый пользователь?
Думал использовать LogBack SiftingAppender
и передать информацию журнала
отделить MongoDb Collections
. Как и у каждого MongoDb Collection
, есть идентификатор пользователя.
Таким образом, мне не нужно создавать расширенный запрос mapreduce, так как журналы аккуратно сложены.
Или используйте SiftingAppender
с FileAppender, чтобы у каждого пользователя был отдельный файл журнала.
У меня есть проблема с этим, если MongoDB имеет один миллион коллекций журналов, каждая из которых названа с идентификатором пользователя. (это возможно даже между прочим)
Если все хранится в MongoDb, репликация ведущий-ведомый MongoDb делает
это легко, если главный узел умирает.
Как насчет подхода FileAppender. Чувствуется, что там будет много логов
администрировать. Можно было бы сохранить их в папках в соответствии с алфавитом. Папка А
для пользователя / id с именами / id, начинающимися с A.
Какие есть другие варианты, чтобы эта работа работала?