Что следует знать HighLoad-разработчику?

Как правило, разработчики Highload-систем работают с серверной частью, то есть с backend'ом. Значительно реже в их обязанности входит fullstack-разработка. Однако в разных компаниях требования к соответствующим специалистам могут кардинально различаться. Тем не менее существуют вещи, которые пригодятся практически в любом высоконагруженном проекте.

Стек технологий

В современных высоконагруженных проектах применяют довольно широкий стек технологий. По большему счету, этот стек ничем не ограничен, однако кое-что все же хочется выделить:

  • сервера на базе Linux;
  • nginx в качестве фронт-web-сервера;
  • приложения, написанные на языках PHP/Python/Go;
  • системы хранения данных в памяти (Redis, Tarantool, Riak, Memcache);
  • СУБД типа MySQL (MariaDB) либо Postgres;
  • приложения, написанные на Java, где web-сервер и прочие компоненты способны быть частью самого приложения.

Существуют ли высоконагруженные проекты на PHP/MySQL?

На самом деле, очень даже существуют. Мало того, их тысячи по всему миру! Достаточно перечислить самые известные из них:

  • соцсети Facebook и VK;
  • Badoo;
  • ICQ;
  • Mamba;
  • Avito.

Но тут следует сказать, что все это совершенно не означает, что в вышеописанных проектах применяется лишь PHP. Скажем так, на PHP, если говорить честно, приходится не самая сильная нагрузка, ну а за счет продуманной архитектуры и балансировки нагрузки пользователям вполне комфортно работать с системой.

Хотите стать хайлоад-разработчиком? Обратите внимание на специальный курс в Otus!

По материалам https://evilinside.ru/.