Уровень кеша определенно не повредит. Количество пользователей не должно быть проблемой. Даже самый маленький экземпляр ec2 на aws может справиться с этим легко.
Вы можете попытаться добавить небольшую задержку в текстовое поле, чтобы не каждое нажатие клавиши запускало поиск, но, возможно, давало задержку ~ 50 мс? Попробуй посмотреть, каково это при наборе текста на панели поиска.
Для 100 элементов Vuex тоже может работать довольно быстро, если вы не загружаете stati c активы, например изображения, непосредственно в Vuex. ~ 100 элементов в JSON данных - это не много, но они также не масштабируются, если в вашем приложении неожиданно появилось 10000 элементов.
Лучший на мой взгляд сценарий:
- Redis кеш, потому что многие запросы будут очень похожи или даже идентичны. Вам просто нужно найти точку отсчета в том, как долго действует кеш
- Балансировка нагрузки вашего бэкэнда и внешнего интерфейса, т. Е. Создание большего количества экземпляров вашего docker -изображения по требованию для обработки потенциальных пиков в запросах, если ЦП -usage превышает определенный порог
- Если ваш бэкэнд выполняет больше, чем просто поиск, перенесите этот поиск на выделенный экземпляр, чтобы он не мешал «обычным запросам»
- Очень важно: Создавайте индексы в своей базе данных для более быстрых результатов поиска, избегайте полного сканирования везде, где сможете!
- Возможно, подумайте о том, чтобы отключиться от сервера, если в вашем приложении нет traffi c 24/7
Редактировать: - иметь api, кеш и базу данных рядом друг с другом, чтобы связь между экземплярами не проходила далеко.