Heim > häufiges Problem > Welche drei Lösungen gibt es für hohe Parallelität?

Welche drei Lösungen gibt es für hohe Parallelität?

醉折花枝作酒筹
Freigeben: 2023-01-13 00:38:04
Original
48001 Leute haben es durchsucht

Drei Lösungen für hohe Parallelität sind: 1. Systemaufteilung, Aufteilung eines Systems in mehrere Subsysteme; 2. Cache, einer der wichtigen Faktoren für hohe Leistung in allen modernen Computersystemen; 3. MQ (Message Queue), ein „First“. „In, First Out“-Datenstruktur in der Basisdatenstruktur.

Welche drei Lösungen gibt es für hohe Parallelität?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

1: Systemaufteilung, Teilen Sie ein System in mehrere Subsysteme auf, verwenden Sie dazu Dubbo. Dann ist jedes System mit einer Datenbank verbunden, sodass es ursprünglich eine Datenbank gab, jetzt jedoch mehrere Datenbanken, sodass es einer hohen Parallelität standhalten kann.

2: Cache, Sie müssen den Cache verwenden. Die meisten Szenarien mit hoher Parallelität erfordern mehr Lesevorgänge und weniger Schreibvorgänge. Dann können Sie eine Kopie sowohl in die Datenbank als auch in den Cache schreiben und den Cache dann beim Lesen in großen Mengen verwenden. Schließlich kann Redis problemlos Zehntausende Parallelen auf einer einzigen Maschine ausführen. Kein Problem. Sie können also überlegen, wie Sie Caching nutzen können, um einer hohen Parallelität in Szenarios mit großen Leseanforderungen in Ihrem Projekt standzuhalten.

Empfehlung für einen Videokurs →: „Datenparallelitätslösung auf Zehn-Millionen-Ebene (Theorie + praktischer Kampf)“

3: MQ (Message Queue), MQ muss verwendet werden. Möglicherweise stoßen Sie immer noch auf Schreibszenarien mit hoher Parallelität. Beispielsweise müssen Sie in einem Geschäftsbetrieb häufig Dutzende Male auf die Datenbank zugreifen und sie hinzufügen, löschen, ändern, hinzufügen, löschen und ändern. Diese hohe Parallelität wird Ihr System definitiv zerstören, wenn Sie Redis zum Hosten und Schreiben des Caches verwenden. Die Daten werden zu keinem Zeitpunkt im LRU-Format gespeichert Es gibt keine Transaktionsunterstützung. Wenn Sie also MySQL verwenden sollten, müssen Sie MySQL verwenden. Was sollten Sie tun? Verwenden Sie MQ. Eine große Anzahl von Schreibanforderungen wird in die Warteschlange gestellt und langsam abgespielt. Das System schreibt dann langsam und steuert sie innerhalb des Lastbereichs von MySQL. Daher müssen Sie überlegen, wie Sie MQ zum asynchronen Schreiben verwenden und die Parallelität in Szenarien verbessern können, in denen in Ihrem Projekt eine komplexe Schreibgeschäftslogik enthalten ist. Es ist in Ordnung, dass eine einzelne MQ-Maschine Zehntausenden von Parallelitäten standhält.

Erweiterte Informationen:

Weitere drei Methoden zum Umgang mit hoher Parallelität

Unterdatenbank und Untertabelle

Vielleicht ist auf der endgültigen Datenbankebene die Anforderung, hoher Parallelität zu widerstehen, unvermeidlich. Nun, dann teilen Sie eine Datenbank auf in mehrere Bibliotheken aufteilen, um einer höheren Parallelität zu widerstehen; dann wird eine Tabelle in mehrere Tabellen aufgeteilt, wodurch die Datenmenge in jeder Tabelle kleiner gehalten wird, um die Leistung der SQL-Ausführung zu verbessern.

Trennung von Lesen und Schreiben

Das bedeutet, dass die Datenbank in den meisten Fällen mehr lesen und weniger schreiben muss. Es besteht keine Notwendigkeit, alle Anforderungen auf eine Bibliothek zu konzentrieren. Sie können eine Master-Slave-Architektur erstellen, bei der es sich um die Master-Bibliothek handelt schreibt und die Slave-Bibliothek liest. Trennen Sie Lesen und Schreiben. Wenn zu viel Leseverkehr vorhanden ist, können Sie weitere Slave-Bibliotheken hinzufügen.

solrCloud

SolrCloud (solr cloud) ist eine von Solr bereitgestellte verteilte Suchlösung, die den verteilten Volltextabruf großer Datenmengen lösen kann. Da sie einen Cluster aufgebaut hat, verfügt sie über Hochverfügbarkeitsfunktionen und führt eine Master-Slave-Sicherung durch Daten gleichzeitig, um Single-Point-of-Failure-Probleme zu vermeiden. Daten können schnell wiederhergestellt werden. Und neue Knoten können dynamisch hinzugefügt werden, und dann können die Daten ausgeglichen werden, um einen Lastausgleich zu erreichen.

Für mehr Computerwissen besuchen Sie bitte die FAQ-Kolumne!

Das obige ist der detaillierte Inhalt vonWelche drei Lösungen gibt es für hohe Parallelität?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage