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