иною має переваги в частині продуктивності та організації паралелізму в порівнянні з інтерпретуються мовами типу РНР.
Далі Пейн каже, що «масштабування у великому», тобто створення додатків корпоративного рівня, завжди буде важким і складною справою. Щоб обслужити величезну кількість користувачів по всьому світу, забезпечивши при цьому необхідну швидкість завантаження сторінок, зазвичай доводиться включати в систему балансувальник навантаження, кешуючого, численні резервні машини, розташовані в територіально рознесених точках. Тому платформа розробки, напевно, не так важлива, як система в цілому.
Ми не дізнаємося, наскільки хороша платформа Node насправді, поки не побачимо приклад довгострокової розгортання у великих виробничих середовищах.
. 4 Використання серверів, економія витрат і екологічний Інтернет
Сенс боротьби за максимальну ефективність (збільшення числа оброблюваних запитів в секунду) - не тільки в тому, щоб отримати задоволення від добре виконаної технічної роботи. Є також реальні плюси з точки зору бізнесу і навколишнього середовища. Властива Node здатність обробляти більше запитів у секунду означає, що можна придбати менше серверів. Тобто зробити більше меншими коштами.
Грубо кажучи, чим більше серверів, тим вище витрати і тим сильніше вплив на навколишнє середовище, і навпаки. Існує ціла наука про скорочення витрат і шкоди навколишньому середовищу, заподіюваної інфраструктурою веб-серверів, і ця груба рекомендація не може охопити всіх деталей. Але загальна мета очевидна - скоротити кількість серверів, знизити витрати і зменшити збиток, що наноситься навколишньому середовищу.
В опублікованій корпорацією Intel статті «Increasing Data Center Efficiency with Server Power Measurements» (# justify gt; final.pdf) наводиться методика оцінки ефективності та вартості центрів обробки даних. Слід враховувати багато факторів, в тому числі конструкцію будівлі, систему охолодження і проект обчислювальної системи. Їх ефективна реалізація (ефективність ЦОД, щільність ЦОД і щільність СГД) може скоротити витрати та шкоду довкіллю. Але все це можна звести нанівець, розгорнувши неефективну програмну систему, яка змушує купувати більше серверів. І навпаки, ефективна програмна система дозволяє підсилити переваги ефективної організації ЦОД.
2. Характеристики NODE
Перед тим як почати роботу з Node, необхідно вивчити середовище розробки.
. 1 Системні вимоги
найкраще працює в операційних системах, сумісних зі стандартом POSIX. Це різні клони UNIX (Solaris і т. П.), А також UNIX-подібні системи (Linux, Mac OS Х і т.п.). Насправді багато вбудовані в Node функції - прямі інтерфейси до системних викликів, описаним у POSIX.
У багатьох зрілих мовних платформах (таких як Perl або Python) вже сформувався стабільний набір засобів і API, який включається в дистрибутиви операційних систем. Але Node все ще швидко розвивається, тому включати в дистрибутиви ОС готові двійкові збірки було б передчасно. Отже, кращий метод установки Node - збірка з вихідного коду. Для цього необхідний компілятор мови С (наприклад, GCC) і Python 2.4 (або більш пізня версія). Якщо використовувати в мережевому коді шифрування, то знадобиться ще криптографічний бібліотека OpenSSL. У сучасних клонах UNIX ці кошти майже завжди включаються в дистрибутив, а конфігураційний скрипт Node виявляє їх присутність.
Хоча ОС Windows не сумісна з POSIX, Node можна встановити на неї, користуючись POSIX-сумісними середовищами (у версії Node 0.4.x і більш ранніх). Починаючи з версії 0.6.x, розробники Node намір забезпечити можливість збірки з допомогою природних для Windows засобів.
2.2 Запуск Node-серверів на етапі ініціалізації системи
Існують загальноприйняті способи запуску серверних процесів, свої в кожній операційній системі. Node-сервер запускається так само, як будь-який інший фоновий процес (sshd, apache, MySQL і т.д.), наприклад, за допомогою скриптів запуску і зупину.
У проект Node не включені скрипти запуску і зупинки для всіх операційних систем. Це, мабуть, правильно: дистрибутив Node - не місце для таких скриптів. Вважається, що вони повинні бути частиною серверних додатків для Node. Традиційно ініціалізацією системи відав демон init, який управляє фоновими процесами за допомогою скриптів, що знаходяться в каталозі /etc/init.d. У дистрибутивах Fedora і Redhat цей процес все ще існує, а в інших системах застосовуються інші менеджери демонів, наприклад Upstart або launchd.
Написання скриптів запуску і зупинки - тільки частина справи. Веб-сервери повинні бути на...