Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man PHP für grundlegendes verteiltes Rechnen verwendet

Wie man PHP für grundlegendes verteiltes Rechnen verwendet

PHPz
PHPzOriginal
2023-06-22 08:12:141162Durchsuche

Mit der steigenden Nachfrage nach Datenverarbeitung und -analyse ist verteiltes Rechnen für viele Unternehmen und Datenwissenschaftler nach und nach zu einer notwendigen Fähigkeit geworden. Als häufig verwendete Programmiersprache kann PHP auch für verteiltes Rechnen verwendet werden. In diesem Artikel wird die Verwendung von PHP für grundlegende verteilte Berechnungen vorgestellt.

Was ist verteiltes Rechnen?

Verteiltes Rechnen bezieht sich auf den Prozess der Aufteilung großer Rechenaufgaben in kleine Aufgaben, die parallel verarbeitet werden können, und der Zuweisung dieser Aufgaben zur Verarbeitung an mehrere Computer. Basierend auf dieser Methode kann der Computer eine große Anzahl von Rechenaufgaben gleichzeitig erledigen und so die Recheneffizienz und Verarbeitungsgeschwindigkeit verbessern.

Vorteile des verteilten Rechnens

Verteiltes Rechnen hat die folgenden Vorteile:

  • Effizienz: Jeder Computer verarbeitet seine eigenen Aufgaben, und das auf parallelem Rechnen basierende Modell kann eine große Anzahl von Rechenaufgaben bewältigen, wodurch die Datenverarbeitungsgeschwindigkeit verbessert wird Effizienz;
  • Skalierbarkeit: Bei Bedarf können weitere Computer hinzugefügt werden, um die Rechenkapazitäten flexibel zu erweitern.
  • Hohe Zuverlässigkeit: Verteiltes Rechnen kann die Ressourcen mehrerer Computer nutzen, um Zuverlässigkeit und Fehlertoleranz zu gewährleisten. Wenn ein Computer ausfällt, kann er die Daten anhand der auf anderen Computern gespeicherten Informationen neu berechnen und wiederherstellen.

Wie führt PHP verteiltes Rechnen durch?

In PHP können Sie einige Bibliotheken von Drittanbietern verwenden, um verteiltes Computing zu implementieren. Die beiden am häufigsten verwendeten Bibliotheken sind Gearman und RabbitMQ.

Gearman

Gearman ist ein Open-Source-Framework für verteiltes Computing, das in C++ geschrieben ist und für mehrere Programmiersprachen, einschließlich PHP, verfügbar ist. Gearman kann Aufgaben zur Verarbeitung problemlos auf mehrere Computer verteilen und die Ergebnisse dann an den Host-Computer zurücksenden.

Der Prozess zur Verwendung von Gearman in PHP ist wie folgt:

  1. Gearman installieren

Um Gearman in PHP zu verwenden, müssen Sie zuerst die Gearman-Erweiterung installieren. Im Ubuntu-System können Sie Gearman mit dem Tool apt-get installieren. Der spezifische Vorgang ist wie folgt:

sudo apt-get update
sudo apt-get install gearman
sudo apt-get install libgearman-dev
sudo pecl install gearman

Es ist zu beachten, dass Sie zuerst libgearman-dev und Gearman und dann die Gearman-Erweiterung installieren müssen.

  1. Client erstellen

In PHP können Sie einen Client mithilfe der GearmanClient-Klasse erstellen. Zum Beispiel:

$client = new GearmanClient();
$client->addServer('127.0.0.1', 4730);
  1. Erstellen eines Handlers

In PHP können Sie einen Handler mithilfe der GearmanWorker-Klasse erstellen. Zum Beispiel:

$worker = new GearmanWorker();
$worker->addServer('127.0.0.1', 4730);
$worker->addFunction('sort', 'sortFunction');
while ($worker->work());

Die Methode addFunction ermöglicht das Hinzufügen einer Handler-Funktion zu einem Handler, wobei sort der Name der Funktion und sortFunction die eigentliche Handler-Funktion ist. addFunction方法允许将处理函数添加到处理者中,其中sort是函数的名称,sortFunction是实际的处理函数。

  1. 执行任务

在PHP中,可以使用GearmanClient类触发任务的执行,并获得处理结果。例如:

$client = new GearmanClient();
$client->addServer('127.0.0.1', 4730);
$result = $client->doBackground('sort', $data);

其中,doBackground

    Aufgaben ausführen

    In PHP können Sie die GearmanClient-Klasse verwenden, um die Ausführung von Aufgaben auszulösen und die Verarbeitungsergebnisse abzurufen. Zum Beispiel:

    sudo apt-get update
    sudo apt-get install php-amqp

    Unter diesen weist die Methode doBackground Prozessoren Aufgaben zu, sort ist die aufzurufende Verarbeitungsfunktion und $data sind die zu verarbeitenden Daten. $result ist die ID der Aufgabe.

      RabbitMQ
    1. RabbitMQ ist ein Open-Source-Framework für verteiltes Computing und eine Implementierung eines Warteschlangennachrichtenmodells. Der Nachrichtenproduzent sendet die Nachricht an die Nachrichtenwarteschlange, und dann ruft der Verbraucher die Nachricht aus der Nachrichtenwarteschlange ab und verarbeitet sie. RabbitMQ kann in einer Vielzahl von Programmiersprachen verwendet werden, einschließlich PHP.

    Der Prozess zur Verwendung von RabbitMQ in PHP ist wie folgt:

    1. RabbitMQ installieren

    Um RabbitMQ in PHP zu verwenden, müssen Sie zuerst die RabbitMQ-Erweiterung installieren. Sie können das Tool apt-get verwenden, um RabbitMQ im Ubuntu-System zu installieren. Die spezifischen Vorgänge sind wie folgt:

    $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();

    Erstellen eines Produzenten
    1. In PHP können Sie das AMQP-Protokoll verwenden, um einen RabbitMQ-Produzenten zu erstellen. Zum Beispiel:
    $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();
    }

    wobei $data die zu verarbeitenden Daten sind.

    Erstellen Sie einen Verbraucher

    In PHP können Sie das AMQP-Protokoll verwenden, um einen RabbitMQ-Verbraucher zu erstellen. Beispiel:

    rrreee🎜wobei $callback die Nachrichtenverarbeitungsfunktion ist. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird die Verwendung von Gearman und RabbitMQ in PHP für grundlegende verteilte Berechnungen vorgestellt. Natürlich ist verteiltes Rechnen nur eine Einführung in ein großes Gebiet, und es sind noch weitere Lern- und Übungsaufgaben erforderlich. Ich glaube, dass Sie durch Lernen und Üben mehr Fähigkeiten im Bereich verteiltes Rechnen erlernen können. 🎜

Das obige ist der detaillierte Inhalt vonWie man PHP für grundlegendes verteiltes Rechnen verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn