Вопрос

Я рассматриваю несколько параметров для передачи данных с сервера на клиент для моего веб -приложения в режиме реального времени.

Я внедрил на основе опросов (каждый клиент отправляет HTTP -запросы на сервер через каждые 30 секунд.), Которое на самом деле не увеличивается после того, как 10 пользователей. Это приложение. построен с использованием MySQL, PHP, HTML и jQuery.

Пожалуйста, предложить, какой из них будет лучше, учитывая требования ниже - ape vs node.js

  1. Должен иметь возможность обрабатывать не менее 400 одновременных соединений одновременно
  2. Сервер должен иметь возможность разжигать данные для всех этих клиентов.
  3. Клиенты будут отправлять данные между собой.
Это было полезно?

Решение

Я настоятельно рекомендую вам взглянуть на Сокет.io. Анкет Это полное решение для Server Push, которое включает в себя как библиотеку на стороне сервера (написанная в node.js), так и библиотека клиента JS, которая сделана в браузере Cross. Я не вижу причин для вас внедрить свой собственный код для того, чтобы делать то, что уже сделано, работает и протестирована.

Единственный случай, с которым не будет обработать Socket.io, - это ваш третий запрос, но в любом случае это невозможно. Если я правильно понимаю, вы хотите, чтобы два клиента общались без помощи стороннего сервера? Вы не можете изменить HTTP на P2P, по крайней мере, сейчас.

Если, с другой стороны, вы собирались передавать двух пользователей через ваш сервер (делать что-то вроде частного чата с двумя людьми), который полностью выполнимо с помощью socket.io.

Другие советы

Несмотря на то, что все сейчас бегут к Node.js, мы сделали приложение чата на основе Обезьяна И мы очень довольны этим.

APE предоставляет то, что вы ищете, из ящика », поскольку это комбинация на стороне сервера JS и клиентской структуры APE_JSF, которая предоставляет функциональность (и больше), которую вы получаете от Socket.io.

В этом проекте мы обращаемся ~ 9000 параллельных пользователей с сообщениями в реальном времениАнкет Сервер NGINX помещается перед APE, чтобы обеспечить поддержку дефтата/GZIP

Эта конфигурация (без nginx) также не будет иметь никаких проблем с вашим требованиями, даже на машине «не так высокого уровня».

Поскольку вы можете подтолкнуть данные к «каналу» или одному пользователю, вы сможете достичь именно то, что вы ищете с помощью APE, от трансляций до прямых сообщений.

Если вы используете Apache в вашем существующем стеке, то, как вы уже сказали, будут проблемы с масштабированием ваших пользователей, даже если вы используете Длинный опрос вместо непрерывного. Решение может состоять в том, чтобы использовать высокопроизводительный веб -сервер, как nginx Чтобы справиться со многими параллельными соединениями.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top