Задать вопрос
@kopytse

На чём следует писать высоконагруженное API — на «PHP» или «Node.JS»?

API на какой их этих технологий будет легче адаптировать под всё новые и новые нагрузки по мере возрастания новых?

Дополнение: в качестве базы данных планируется использовать "MongoDB".
  • Вопрос задан
  • 1045 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 5
index0h
@index0h
PHP, Golang. https://github.com/index0h
Уже был подобный вопрос с такой же ошибкой. Задача определяет язык. Является ли проект api сервером, или нет - это не важно. Важно, какие звдачи будет решать ваш сервер.
Ответ написан
@MadridianFox
Web-программист, многостаночник
Высоконагруженный, да и вообще любой серьёзный проект, надо писать не "на чём?", а "как?". Точнее надо писать код так, чтобы он поддерживал горизонтальное масштабирование.
Это значит что ваш код должен уметь запускаться на нескольких серверах сразу и не так чтобы отдельные части в разных местах, а именно дублироваться. "Перед" копиями должен стоять балансировщик, который на основании того, насколько загружен тот или иной сервер, выбирает на какой сервер адресовать приходящий запрос.
Тут же стоит продумать бутылочные горлышки, а точнее избавиться от них. Например БД, она может поддерживать запуск своих копий на разных серверах, а может и не поддерживать.
Сессии пользователей можно хранить централизованно, а можно делать "липкую" сессию, когда все запросы одного пользователя будут всегда идти на один сервер.
В итоге, highload - это не про то на чём пишется софт, а про то как он пишется.
Ответ написан
Комментировать
@emp1re
А есть разница? У всех есть придел, скалируйте свою нагрузку на несколько серверов через редис к примеру -
adrianmejia.com/blog/2016/03/23/how-to-scale-a-nod...
Ответ написан
Комментировать
gromdron
@gromdron
Работаю с Bitrix24
А что Ваше api будет делать? На чем у Вас уже написана логика (может быть Вы уже использовали symfony 3, тогда нет большого смысла ставить еще и nodejs) или ее тоже нет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы