Что следует знать 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/.