У меня довольно большое создание веб-приложений с SproutCore и PHP в качестве backend. Теперь я хочу использовать websockets для обновления моего клиентского приложения в режиме реального времени. Из того, что я знаю, PHP действительно плохо справляется с постоянными соединениями. Поэтому я думал, что могу использовать Go для обработки соединений веб-сокетов и вызывать свои скрипты PHP каждый раз, когда будет получен запрос (это package, похоже, позволяет).PHP: используйте Golang для обработки соединений с websocket
Итак, мой первый вопрос: вы, ребята, думаете, что это хорошая идея (и жизнеспособная идея, я не смог найти таких людей), или я должен придерживаться PHP?
Если я использую Go для обработки соединений веб-сокетов, я также думал, что могу постепенно отходить от PHP, чтобы использовать Go (поскольку он намного быстрее PHP). Если я это сделаю, мне нужно будет вызвать некоторый пакет Go из PHP. Можно ли это сделать с помощью функции PHP exec
? Есть ли способ лучше ? И снова, это хорошая идея?
Казаться многообещающим. Таким образом, вы согласны со мной в том, что вызов PHP-скрипта каждый раз, когда запрос, полученный сервером веб-сервера Go, должен быть намного лучше, чем обработка соединения с websocket в PHP. –
Я также использую Go для запуска моих серверов websocket (среди них [this] (http://dystroy.org:8004/) .Это очень эффективно и чисто. Я думаю, что использование PHP для этого было бы плохой идеей. –
Calling PHP-скрипт каждый раз, когда запрос получает сервер веб-сервера Go, почти наверняка будет лучшим решением. Если какая-либо из ваших данных кэшируема, вы можете кэшировать ее в экземпляре Go для одного. Во-вторых, вы используете только ресурсы PHP достаточно долго, чтобы ответить на запрос, поэтому общее количество PHP-процессов должно быть значительно меньше, пока веб-узлы не будут постоянно подталкивать новые запросы к PHP. Наконец, вы ставите себе возможность перенести весь свой PHP-код, чтобы перейти со временем и реализуют огромную прибыль от эффективности. – Daniel