У меня возникла ситуация, когда я хочу сделать 1000 различных запросов к хранилищу данных, выполнить некоторые вычисления по результатам каждого отдельного запроса (чтобы получить 1000 отдельных результатов) и вернуть список результатов.
Я бы хотел, чтобы список результатов возвращался как ответ на тот же 30-секундный запрос пользователя, который начал вычисления, для повышения производительности на стороне клиента.Ха!
У меня есть смелый план.
Каждая из этих операций обычно не будет иметь проблем с завершением менее чем за секунду, ни одна из них не должна записываться в ту же группу сущностей, что и любая другаяи ни одному из них не нужна информация из других запросов.Может ли быть возможно запустить 1000 независимых задач, каждая из которых выполняет один из этих запросов, выполняет свои вычисления и сохраняет результат во временном наборе объектов?Исходный запрос может подождать 10 секунд, а затем выполнить один запрос для результатов из хранилища данных (возможно, все они задают уникальное значение, к которому я могу запросить).Любые результаты, которые еще не получены, будут замечены на стороне клиента, и клиент может просто запросить эти значения еще раз через десять секунд.
Вопросы, на которые, я надеюсь, могут ответить опытные разработчики:
- Это смешно?Если так, это смешно для любого количества задач?Разве 50 будет разумным?
- Я не столкнусь с разногласиями в хранилище данных, если я буду читать одну и ту же сущность 20 раз в секунду, верно?Это утверждение материал все для записи?