Как спроектировать frontend-backend для фрагментированного ответа? - PullRequest
0 голосов
/ 09 июля 2020

Я хочу найти лучшую архитектуру для следующего приложения:

  1. Frontend запрашивает у API генерацию последовательности чисел.
  2. API генерирует числа.
    • Каждое число зависит от уже сгенерированных чисел, и это очень медленно, поэтому генерация каждого числа занимает от 1 до 5 секунд.
    • Длина последовательности неизвестна.
    • Мы знаем, что мы достигли конца последовательности только после генерации последнего числа.
  3. Поскольку процесс может занять много времени, серверная часть отвечает каждым числом, как только оно генерирует его.
  4. Fronted отображает частичные последовательности, пока не получит полный ответ.

На следующем изображении показано, что я имею в виду. Описание процесса

Вопрос: Как должна работать архитектура? Я думал о двух вариантах, но ни один из них меня не убедил:

  • Frontend должен отправить другой запрос, как только получит частичный ответ; Бэкэнд должен хранить частичные результаты. Всякий раз, когда он получает запрос, он должен возвращать все доступные результаты и маркер, будут ли сгенерированы другие результаты. *

    Думаю, я буду использовать Vue. js интерфейс и Django бэкэнд.

...