suchen
HeimBackend-EntwicklungPHP-TutorialElasticsearch- und MongoDB-Datensynchronisierung und verteilter Clusteraufbau (2)

Vorheriger Artikel „Elasticsearch- und MongoDB-Datensynchronisation und verteilter Clusteraufbau (1)“ Wir haben eine Elasticsearch- und MongoDB-Datensynchronisation konfiguriert. Hohe Verfügbarkeit, Skalierbarkeit und Verteilung sind ein Vorteil und ein Merkmal von ES. Vertikal Skalierung/Vergrößerung oder horizontale Erweiterung oder Erweiterung nach außen, horizontale Skalierung/Verkleinerung.

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.

Spezifische Grundsätze finden Sie im offiziellen Dokument: „life innerhalb eines Clusters》 Demonstriert die horizontale Erweiterung. Hier wird eine neue virtuelle Maschine einer ES-Instanz hinzugefügt, sodass unsere vorherige ES-Instanz war: 10.253.1.70, und jetzt wird ein neuer Knoten hinzugefügt: 10.253.1.71. Sie müssen sicherstellen, dass die beiden Knoten miteinander kommunizieren können.Konfigurieren Sie config/elasticsearch.yml10.253.1.70 verwandte Konfiguration ist:

1cluster.name: elasticsearch_ryan

2node.name:"cluster-node-1"
10.253.1.71 verwandte Konfiguration ist:

1cluster.name: elasticsearch_ryan

2node.name:"cluster-node-1"
Tatsächlich muss sichergestellt werden, dass es einen gemeinsamen cluster.name gibt, um den ES-Dienst zu starten von 10.253.1.71, und dann können Sie es anzeigen. Der Status des unteren Knotenclusters:

01curl -XPOST "http://10.253.1.70:9200/_cluster/health"

02{

03    "cluster_name":"elasticsearch_ryan",

04    "status":"green",

05    "timed_out":false,

06    "number_of_nodes": 2,

07    "number_of_data_nodes": 2,

08    "active_primary_shards": 9,

09    "active_shards": 18,

10    "relocating_shards": 0,

11    "initializing_shards": 0,

12    "unassigned_shards": 0

13}
Sie können sehen, dass es jetzt 2 Knoten gibt. Die Statustabelle zeigt den Status des Clusters. Die spezifische Statusbedeutung:
  • grün: Alle Primär-Shards (Primary Shard) und Replikat-Shards (Replica-Shard) sind aktiv
  • Gelb: Alle Primär-Shards sind aktiv, aber nicht alle Replikate Shards sind aktiv
  • rot: Nicht alle primären Shards sind aktiv
  • Hier ist ein ES-Tool zur verteilten Clusterverwaltung Elasticsearch-Head, installieren Sie es einfach als Plug-in sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head Öffnen Sie nach der Installation die Verwaltungsoberfläche http://10.253.1.70:9200/_plugin/ head/Elasticsearch与MongoDB 数据同步及分布式集群搭建

    Elasticsearch- und MongoDB-Datensynchronisierung und verteilter Clusteraufbau

    Sie können die detaillierten Informationen der Knoten im verteilten Cluster anzeigen, Sie können auch Indexinformationen und Abfragen durchführen Funktionen, was sehr praktisch ist, und der Status des Clusters ist auch sehr intuitiv. Sie können Mongo weiterhin einige Daten hinzufügen, um es zu testen.

    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.

    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
    Zweck von PHP: Erstellen dynamischer WebsitesZweck von PHP: Erstellen dynamischer WebsitesApr 15, 2025 am 12:18 AM

    PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

    PHP: Datenbanken und serverseitige Logik bearbeitenPHP: Datenbanken und serverseitige Logik bearbeitenApr 15, 2025 am 12:15 AM

    PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

    Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO)Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO)Apr 15, 2025 am 12:15 AM

    Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

    PHP und Python: Code Beispiele und VergleichPHP und Python: Code Beispiele und VergleichApr 15, 2025 am 12:07 AM

    PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

    PHP in Aktion: Beispiele und Anwendungen in realer WeltPHP in Aktion: Beispiele und Anwendungen in realer WeltApr 14, 2025 am 12:19 AM

    PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

    PHP: Erstellen interaktiver Webinhalte mühelosPHP: Erstellen interaktiver Webinhalte mühelosApr 14, 2025 am 12:15 AM

    PHP erleichtert es einfach, interaktive Webinhalte zu erstellen. 1) Generieren Sie Inhalte dynamisch, indem Sie HTML einbetten und in Echtzeit basierend auf Benutzereingaben oder Datenbankdaten anzeigen. 2) Verarbeitungsformularübermittlung und dynamische Ausgabe erzeugen, um sicherzustellen, dass HTMLSpecialChars zur Vorbeugung von XSS verwendet wird. 3) Verwenden Sie MySQL, um ein Benutzerregistrierungssystem zu erstellen und Anweisungen von Password_hash und Preprocessing vorzubereiten, um die Sicherheit zu verbessern. Durch die Beherrschung dieser Techniken wird die Effizienz der Webentwicklung verbessert.

    PHP und Python: Vergleich von zwei beliebten ProgrammiersprachenPHP und Python: Vergleich von zwei beliebten ProgrammiersprachenApr 14, 2025 am 12:13 AM

    PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

    Die dauerhafte Relevanz von PHP: Ist es noch am Leben?Die dauerhafte Relevanz von PHP: Ist es noch am Leben?Apr 14, 2025 am 12:12 AM

    PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

    See all articles

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    PHPStorm Mac-Version

    PHPStorm Mac-Version

    Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

    SublimeText3 Englische Version

    SublimeText3 Englische Version

    Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

    WebStorm-Mac-Version

    WebStorm-Mac-Version

    Nützliche JavaScript-Entwicklungstools

    SAP NetWeaver Server-Adapter für Eclipse

    SAP NetWeaver Server-Adapter für Eclipse

    Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung