Обо мне
Node.js был первой бэкэнкой, в которой я действительно инвестировал. Растет в качестве разработчика, который я работал со многими борьбой, только чтобы выяснить, что у Node.js не будет масштабироваться на массы, потому что это было однопоточное. На некоторое время я использовал пакет под названием PM2. Это обработало несколько потоков для себя. Это был не мой любимый способ развития. Как только Node.js предоставил кластер API. Это не имело смысла использовать PM2 больше.
Проблема, которую я хотел решить
Возможность добавления нескольких потоков, таких как все другие популярные бэкэндские рамки, которые я использовал. И сделать масштаб Node.js к массам, таким как Джанго в Python, Ruby на рельсах, Laravel в PHP, и список может продолжаться.
Что такое многопоточный сервер?
Метугольные серверы являются дублирующими процессами одного основного процесса. Когда главный процесс попадает в несколько раз и обрабатывает несколько ответов одновременно. Главный процесс будет толкать запрос к дубликатам, чтобы разделить работу. Процесс – один нить сервера. Каждый параллельный процесс приведен в процентах CPU. Который становится меньше, когда вы добавляете больше процессов. Одиночные резьбовые серверы отлично подходят для серверов FrontEnd, которые обрабатывают только ваши активы JS, CSS, HTML и другие активы для браузера с процентом CPU на 100%, потому что это другой сервер, чем ваш API (новая команда для запуска). Для API, которая обрабатывает данные по нескольким микроуслугам, таких как Web, Mobile, TV, настольные приложения, и т. Д. Это лучше всего и в большинстве случаев необходима, чтобы у вас есть бэкфэндский сервер Thourli. Это требуется во всех компаниях, поскольку размер вашей пользовательской базы расширяется. С суммой людей на суперскуску на вашем сайте или приложении выйдут сбой. Даже с несколькими EC2S для развертываний. Это необходимо для сервера Node.js, который должен справиться с этим количеством пользователей.
Tech Stack.
Ванильный узел.js.
Процесс здания делает ваш сервер Node.js масштабируемым с несколькими потоками
Это один файл JS для импорта в вашу кодовую базу. Обновите файл-путь в этом файле, чтобы импортировать файл сервера Node.js. Затем запустите команду узла в этом новом файле вместо исходного файла сервера.
GitHub: https://github.com/laynef/make-your-nodejs-server-multheaded.
- Скопируйте файл в свои проекты Node.js
- Измените свой путь к файлу в этот файл, чтобы импортировать сервер Node.js
- Run: Node MultiThreads.js
Проблемы я столкнулся
С помощью одиночных резьбовых серверов ваши серверы сбиваются. Даже с цепочками EC2. Каждый EC2 за раз. Поскольку один разрывает трафик, как правило, будет направляться на меньшее количество EC2S, если они обновляют браузер. Создание эффекта домино, которое отключится все ваши серверы.
Назначение ключей
Я остаюсь напомнил всем плюсам и минусам к каждой популярной базовой рамки. Это помогает мне в моем развитии Node.js. Чтобы приспособиться к тому, что у Node.js может отсутствовать.
Советы и советы
Понять другие стеки, которые не будут Node.js. Node.js – отличное начало, это не должно быть концом вашего развития. Понять разные стеки, такие как Ruby на рельсах, Java Sprint Boot, Java Play, Go, Laravel в PHP, Django в Python, или многие другие с текущим сообществом развития. Принципалы позади того, почему текущие стеки удивительны, являются наиболее важными. Все эти стеки изменится во времени. Так что узнавать, почему они были построены и как то, что важно.
Окончательные мысли и следующие шаги
Продолжай расти. Продолжай учиться. Не застревать в один стек. И счастливое кодирование!