Avec la demande croissante en matière de traitement et d'analyse de données, l'informatique distribuée est progressivement devenue une compétence essentielle pour de nombreuses entreprises et data scientists. En tant que langage de programmation couramment utilisé, PHP peut également être utilisé pour l'informatique distribuée. Cet article explique comment utiliser PHP pour l'informatique distribuée de base.
L'informatique distribuée fait référence au processus consistant à diviser les grandes tâches informatiques en petites tâches pouvant être traitées en parallèle et à attribuer ces tâches à plusieurs ordinateurs pour le traitement. Grâce à cette méthode, l'ordinateur peut effectuer un grand nombre de tâches informatiques en même temps, améliorant ainsi l'efficacité informatique et la vitesse de traitement.
L'informatique distribuée présente les avantages suivants :
En PHP, vous pouvez utiliser certaines bibliothèques tierces pour implémenter l'informatique distribuée. Les deux bibliothèques les plus couramment utilisées sont Gearman et RabbitMQ.
Gearman est un framework informatique distribué open source écrit en C++ et disponible pour plusieurs langages de programmation, dont PHP. Gearman peut facilement distribuer des tâches sur plusieurs ordinateurs pour traitement, puis renvoyer les résultats à l'ordinateur hôte.
Le processus d'utilisation de Gearman en PHP est le suivant :
Pour utiliser Gearman en PHP, vous devez d'abord installer l'extension Gearman. Dans le système Ubuntu, vous pouvez utiliser l'outil apt-get pour installer Gearman. L'opération spécifique est la suivante :
sudo apt-get update sudo apt-get install gearman sudo apt-get install libgearman-dev sudo pecl install gearman
Il convient de noter que vous devez d'abord installer libgearman-dev et gearman, puis installer l'extension Gearman.
En PHP, vous pouvez créer un client en utilisant la classe GearmanClient. Par exemple :
$client = new GearmanClient(); $client->addServer('127.0.0.1', 4730);
En PHP, vous pouvez créer un gestionnaire à l'aide de la classe GearmanWorker. Par exemple :
$worker = new GearmanWorker(); $worker->addServer('127.0.0.1', 4730); $worker->addFunction('sort', 'sortFunction'); while ($worker->work());
La méthode addFunction
permet d'ajouter une fonction de gestionnaire à un gestionnaire, où sort est le nom de la fonction et sortFunction est la fonction de gestionnaire réelle. addFunction
方法允许将处理函数添加到处理者中,其中sort是函数的名称,sortFunction是实际的处理函数。
在PHP中,可以使用GearmanClient类触发任务的执行,并获得处理结果。例如:
$client = new GearmanClient(); $client->addServer('127.0.0.1', 4730); $result = $client->doBackground('sort', $data);
其中,doBackground
En PHP, vous pouvez utiliser la classe GearmanClient pour déclencher l'exécution de tâches et obtenir les résultats du traitement. Par exemple :
sudo apt-get update sudo apt-get install php-amqp
Parmi elles, la méthode doBackground
attribue des tâches aux processeurs, sort est la fonction de traitement à appeler et $data est les données à traiter. $result est l'ID de la tâche.
Le processus d'utilisation de RabbitMQ en PHP est le suivant :
Pour utiliser RabbitMQ en PHP, vous devez d'abord installer l'extension RabbitMQ. Vous pouvez utiliser l'outil apt-get pour installer RabbitMQ dans le système Ubuntu. Les opérations spécifiques sont les suivantes :
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->queue_declare('hello', false, false, false, false); $msg = new AMQPMessage($data); $channel->basic_publish($msg, '', 'hello'); $channel->close(); $connection->close();
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->queue_declare('hello', false, false, false, false); $callback = function ($msg) { echo $msg->body; }; $channel->basic_consume('hello', '', false, true, false, false, $callback); while (count($channel->callbacks)) { $channel->wait(); }
où, $data sont les données à traiter.
Créer un consommateurEn PHP, vous pouvez utiliser le protocole AMQP pour créer un consommateur RabbitMQ. Par exemple :
rrreee🎜où $callback est la fonction de traitement des messages. 🎜🎜Résumé🎜🎜Cet article explique comment utiliser Gearman et RabbitMQ en PHP pour l'informatique distribuée de base. Bien entendu, l’informatique distribuée n’est qu’une introduction à un vaste domaine, et davantage d’apprentissage et de pratique sont encore nécessaires. Grâce à l'apprentissage et à la pratique, je pense que vous pouvez maîtriser des compétences informatiques plus distribuées. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!