Нужны некоторые предложения о том, как обрабатывать операции в NodeJ. Я пытался что-то искать, но нигде не мог его найти, поэтому решил опубликовать его здесь, чтобы получить отзывы экспертов.
Мы создали платформу электронной коммерции, используя NextJS и NodeJS.
Мне все еще нужно пройти тестирование и выполнить нагрузочный тест, подтверждающий, как мы выполняем, но я немного обеспокоен всеми заявлениями и заявлениями о том, что nodejs не является многопоточным языком, а является ограничителем показа и бла бла бла Так что я здесь, чтобы получить ваше предложение / отзыв о том, что мы делаем, хорошо или нет. Вот что у меня есть:
Микросервис аутентификации: для аутентификации запросов и определения, имеет ли пользователь доступ к определенному модулю
платежный микросервис: для приема платежей и возвратов.
- Сервис покупок
- MySQL и Sequelize
Я попытаюсь объяснить мой вопрос на примере «обработки заказа». Поэтому, когда я получаю запрос на подтверждение заказа, это то, что я делаю, чтобы подтвердить подлинность запроса и подтвердить, являются ли данные полными доказательствами.
Подтвердите, что запрос аутентифицирован через токен jwt
Сделайте запрос к пользователю auth и подтвердите, что пользователь является действительным пользователем и имеет доступ к модулю заказа.
Проверка цены товаров через базу данных (поскольку я предполагаю, что полезная нагрузка может быть взломана и могут быть отправлены неправильные цены)
Убедитесь, что скидка подтверждена правильно из базы данных
Убедитесь, что купон действителен, а скидка действительна или нет
Проверка правильности отправленных бонусных баллов - отправлен запрос в сервис пользователя
Нашим платежным шлюзом является Razor Pay. Здесь мы подтверждаем, является ли отправленный идентификатор платежа действительным идентификатором платежа, а сумма, полученная от пользователя, соответствует общей сумме, которую необходимо снять.
Так что это длинный список проверок, которые мы делаем в NodeJS прямо сейчас.
Это супер быстро по одному запросу. Я определенно настроюсь, когда мы углубимся в нагрузочное тестирование .... но моя текущая дилемма сейчас заключается в том, выбрали ли мы правильный подход или нет. Достаточно ли хорош NodeJS для такого рода выполнения. Я ожидаю не более 200+ одновременных пользователей в течение 6-7 месяцев, так что я не слишком беспокоюсь о производительности. Я могу делать кластеризацию и докеринг для повышения производительности. Я хочу знать, сделал ли я правильный выбор для этого в NodeJS. Это не очень интенсивный процессор, только несколько циклов for и некоторые запросы к базе данных.
Должен ли я сохранить это в Node или перенести этот код алгоритма в другой сервис, написанный на другом языке, например C ++, или, возможно, на python.
Большое время запутался прямо сейчас. Любая помощь будет принята с благодарностью.