Производитель Потребитель в PHP и Java - PullRequest
0 голосов
/ 07 мая 2011

У меня есть система, в которой я получаю запросы через HTTP-вызов к моему PHP-коду (продюсер). Этот код добавляет параметры запроса в таблицу в MYSQL (очередь). Это тогда взято и обработано программой Java (потребитель). В моей первой реализации и производитель, и потребитель были в PHP (с очередью MYSQL). Затем, когда нагрузка увеличилась, это оказалось неэффективным, и поэтому я сделал потребитель Java. Теперь я думаю, что опрос таблицы MYSQL для очереди из моего Java-приложения становится неэффективным (очень высокая загрузка ЦП для процесса MYSQL). Есть ли лучший способ реализовать эту очередь (совместное использование памяти между PHP-кодом и Java-приложением или чем-то еще)?

1 Ответ

0 голосов
/ 07 мая 2011

Да, у вас есть много вариантов.Во-первых, очевидно, чтобы преобразовать это в службу клиент-сервер и передавать между ними текстовые или двоичные сообщения.Возможно, вы захотите заглянуть в веб-сервисы, если вы мазохист, или более простой сервис REST, или CORBA / COM + и другие для двоичных сериализаций.Кроме того, существуют различные очереди, такие как MQseries, RabbitMQ и т. Д. Иногда посредник достаточно быстр и эффективен, или достаточно прямого вызова.

Следующее - более прямая связь, если ваши платформы находятся в пределахтот же сервер или кластер, что-то вроде JavaBridge и др. (выполните поиск по запросу "java php bridge", и некоторые из них появятся. Есть даже интерпретатор PHP, написанный на Java для JVM, который обеспечивает полную совместимостьмежду двумя, которые могут помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...