RavenDb Sharding. Избавиться от LoadDocument

Мне нужно сделать простой пример поста / комментариев разборчивым. У меня проблема с аватаром пользователя. Он хранится в пользовательском документе, а в текущей реализации с одним сервером он добавляется в сообщение / комментарий в трансформаторе с LoadDocument (т. Е. LoadDocument (post.UserId).Avatar). Этот преобразователь, очевидно, не будет для меня вариантом в изолированной среде (я не собираюсь дублировать пользователей для каждого шарда). Так как я могу преодолеть эту проблему?

У меня есть две идеи:

  1. Дублируйте хранилище аватаров пользователя, сохраняя его в каждом посте и комментарии. Затем, когда пользователь обновляет свой аватар, это значение должно обновляться во всех созданных им сообщениях и комментариях. Не нравится это решение, аватар пользователя не кажется идеальным кандидатом на дублирование
  2. Запрашивайте посты / комментарии у соответствующих шардов, обрабатывайте их на клиенте, чтобы мы знали пользователей, аватары которых нам нужны, делали отдельный запрос на аватары пользователей, объединяли результаты. Это решение, к которому я склоняюсь в данный момент.

Я что-то пропустил?

1 ответ

Решение

Второй вариант лучше, да.

Другие вопросы по тегам