На данный проект меня позвало знакомое агентство, которое выиграло тендер на работу с датской корпорацией Danfoss. (Подробнее о компании можно прочитать в Википедии)
Задача: разработать систему хранения контента, которая сможет обслуживать более 1 млн пользователей в день, при этом в самой базе данных может храниться более 100 000 уникальных единиц контента, в том числе тексты, картинки, 3d модели.
Идея самого приложения заключается в том, что при покупке продукции Danfoss клиент мог в дополненной реальности прямо на своем оборудовании посмотреть как правильно вкрутить и настроить деталь.
Главная сложность заключалось в том, что ежедневно корпорация продает более миллиона деталей, а ее ассортимент исчисляется сотнями тысяч при этом обработка запросов от пользователей должна происходить максимально быстро.
Для решения задачи были выбраны MongoDB, Redis и Laravel. Laravel был дополнительно оптимизирован, настроено кэширование на всех уровнях, чтобы популярные запросы были в памяти сервера. Настроен шардинг и репликация.
Была настроена интеграция с каталогом корпорации, а также разработана панель загрузки 3d моделей в базу данных приложения, разработано API для передачи данных в приложение.
Результат: агентство успешно сдало проект, приложение работает, аудитория приложения достигает уже больше миллиона пользователей.