2016-04-21 2 views
0

Я хочу создать сервер, который будет прослушивать пользовательский порт и разговаривать с моим веб-приложением через специальный протокол. На сервере будет диспетчер и работники, которые возьмут на себя задачу и завершат ее.Должен ли я строить свой сервер с Laravel?

Является ли Laravel для работы или я должен идти с чем-то более конкретным?

EDIT: Я хотел бы уточнить, что это не API. В основном скрипт php будет работать в режиме CLI (это означает, что здесь не задействован Apache или NGINX). Сценарий откроет сокет и прослушает определенный порт для подключения к клиентам. Как только клиент подключится, сервер запустит некоторые задания и отправит ответ. Он также включает в себя очередь заданий, к которой подключается сервер (возможно, база данных), получать задания и вилки новых процессов, которые будут выполнять задания.

+0

Почему бы вам просто не использовать стандартную «готовую» систему очередности заданий ike Gearman или RabbitMQ? –

+0

Поскольку демонстрационный проект, который мы сделали, был сделан в Laravel, там есть куча логики, поэтому, если Laravel - хороший вариант, это сэкономит нам много времени. – CGeorges

+0

Ваш вопрос не содержит некоторых разъяснений. Не уверен, что кто-то понимает, чего вы хотите достичь – Digitlimit

ответ

1

EDIT:

кажется, что вам не нужно много рамок на всех (за исключением, может быть, для части операций с базами данных, так как вы, если вы используете сокеты вы (вероятно) не использовать большую часть фреймворки. такие функции, как маршрутизация, просмотр шаблонов ...) В зависимости от сложности вашей базы данных я бы использовал фреймворк или нет. Если это очень сложно, такие функции, как Eloqent, могут помочь ... Я думаю, вы должны подумать о том, какую часть фреймворка вы будете использовать, и если вы можете использовать только материал, который вам нужен, вместо Composer.

END EDIT

Если вы используете Laravel/PHP для создания сервера - это будет, вероятно, слишком медленно для этой цели.

1) Если вы хотите сделать свой собственный сервер (не веб-сайт или API) Я бы предпочел пойти на Node.js или что-то вдоль этих линий (Ruby, Python, C# ..)

2) По «пользовательскому протоколу» я предполагаю, что вы не имеете в виду нечто иное, чем HTTP/TCP/IP? Тогда что вы подразумеваете под «обычным протоколом»?

+0

Ах, извините, если бы я сделал это более понятным, это TCP, конечно, но я имел в виду, (например, XML, JSON, как они приветствуют и т. д.) – CGeorges

+0

Почему вы говорите, что это медленнее? поскольку сервер будет работать в цикле, процесс, который делает PHP медленнее (интерпретация), остается только при загрузке сервера. Я ошибаюсь ? – CGeorges

+0

Если ваше сообщение будет работать с чем-то вроде XML/JSON, тогда вы создаете API-интерфейс? Тогда PHP/Laravel может быть в порядке. Однако L может быть излишним. Возможно, вы захотите попробовать что-то вроде [Slim] (http://www.slimframework.com/) или [Lumen] (https://lumen.laravel.com/) ... Что вы пытаетесь построить конец? Я говорю, что PHP медленный, потому что, ну, это так.Он работает на сервере Apache/Nginx, и он лучше всего подходит для обслуживания HTTP-запросов (но не для сокета/websocket/long polling, которые в значительной степени убьют ваш сервер ...) –

Смежные вопросы