Heim >Backend-Entwicklung >PHP-Tutorial >Elasticsearch- und MongoDB-Datensynchronisierung und verteilter Clusteraufbau (2)
Auf einem Knoten wird eine Instanz von ES ausgeführt, und ein Cluster enthält einen oder mehrere Knoten mit demselben cluster.name
. Diese Knoten arbeiten zusammen, um die Datenfreigabe und Lastverteilung zu vervollständigen. Wenn Knoten zum Cluster hinzugefügt oder daraus entfernt werden, passt sich der Cluster an, um die Daten gleichmäßig zu verteilen. Ein Knoten im Cluster wird zum Masterknoten (Master) gewählt
Knoten), der für die Verwaltung von Änderungen im gesamten Cluster verantwortlich ist, z. B. das Erstellen oder Löschen eines Index (Index) oder das Hinzufügen oder Löschen von Knoten zum Cluster. Jeder Knoten kann zum Masterknoten werden. In unserem Beispiel gibt es nur einen Knoten, dieser übernimmt also die Funktion des Masterknotens. ES verteilt Daten durch Sharding im gesamten Cluster. Stellen Sie sich Shards als Container für Daten vor. Dokumente werden in Shards gespeichert und Shards werden auf die Knoten im Cluster verteilt. Wenn der Cluster wächst und kleiner wird, migriert ES automatisch Shards zwischen Knoten, um sicherzustellen, dass der Cluster im Gleichgewicht bleibt. Ein Shard kann ein primärer Shard (Primary Shard) oder ein Replikat-Shard (Replica Shard) sein. Jedes Dokument im Index gehört zu einem primären Shard. Daher bestimmt die Anzahl der primären Shards die maximale Datenmenge, die Ihr Index speichern kann. Ein Replikat-Shard ist lediglich eine Kopie des primären Shards. Replikate werden verwendet, um Datenredundanz bereitzustellen, Daten vor Verlust bei Hardwarefehlern zu schützen und Leseanforderungen wie das Suchen und Abrufen von Dokumenten zu verarbeiten. Die Anzahl der primären Shards wird zu Beginn der Indexerstellung festgelegt, während die Anzahl der Replikat-Shards jederzeit geändert werden kann.
Elasticsearch- und MongoDB-Datensynchronisierung und verteilter Clusteraufbau
Das Obige hat die Datensynchronisierung von Elasticsearch und MongoDB sowie den Aufbau verteilter Cluster eingeführt (2), und ich hoffe, dass es für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein wird.