Die Essenz von Dubbo: ein Jar-Paket, ein verteiltes Framework und ein verteiltes Framework für Remote-Serviceaufrufe.
1) Da es sich um einen Anfängerunterricht handelt, verstehen viele Schüler möglicherweise nicht, was verteilte und Remote-Serviceanrufe sind, warum sie verteilt werden müssen und warum sie Remote-Anrufe benötigen . Ich werde zur Veranschaulichung einfach eine Vergleichstabelle zeichnen (siehe Abbildung 1 in Abbildung 2. Es ist auf einem Zeichenbrett gezeichnet, bitte nicht sprühen).
Wenn Sie darüber nachdenken, befand sich in der Vergangenheit alles auf demselben Server und die aufrufende Methode wurde direkt und natürlich aufgerufen, kein Problem. Aufgrund der steigenden Nachfrage wurden so viele von ihnen aufgeteilt und auf verschiedenen Servern bereitgestellt. Ist dies mit der Tatsache zu vergleichen, dass sie sich zuvor alle auf einem Server befanden? Ist die Serviceschicht zu Remote-Anrufen geworden? Wie können wir also natürlich Methoden auf demselben Server wie zuvor aufrufen? Dubbo, um es zu lösen. Dies ist der Vorteil von Dubbo unten.
1. Der transparente Remote-Methodenaufruf erfordert, genau wie der Aufruf lokaler Methoden, eine einfache Konfiguration und keinen API-Eingriff.
2. Sanfte Lastausgleichs- und Fehlertoleranzmechanismen können Hardware-Lastausgleichsfunktionen wie F5 im Intranet ersetzen und so Kosten und Einzelpunkte reduzieren.
3. Automatische Dienstregistrierung und -erkennung, die Dienstanbieteradresse muss nicht mehr notiert werden. Das Registrierungszentrum fragt die IP-Adresse des Dienstanbieters anhand des Schnittstellennamens ab und kann Dienstanbieter problemlos hinzufügen oder löschen . (Erklärt unten)
Dubbo verwendet eine vollständige Spring-Konfigurationsmethode, um transparent auf Anwendungen zuzugreifen. Sie müssen Spring nur verwenden, um Dubbos Konfiguration basierend auf der Schema-Erweiterung zu laden.
Bevor wir das Architekturdiagramm erklären, wollen wir einige Konzepte bekannt machen.
Knotenrollenbeschreibung:
Anbieter (Produzent): Der Dienstanbieter, der Dienste bereitstellt.
Verbraucher: Der Dienstkonsument, der Remotedienste aufruft.
Wie in der Abbildung gezeigt, können wir einfach verstehen, dass web1234 den Dienst von service1234 aufrufen muss, sodass web1234 der Verbraucher und service1234 der Produzent ist.
Wenn der Verbraucher den Herstellerdienst wie oben beschrieben anruft, ist das wie folgt:
Sie sind Wird dir schwindelig, wenn du es ansiehst? Ohnmächtig oder nicht? Ohnmächtig oder nicht? Jedenfalls war mir schwindelig, was wäre, wenn es noch mehr verteilt würde? , also brauchen wir es:
Registrierung: das Registrierungszentrum für die Registrierung und Entdeckung von Diensten. Dubbo empfiehlt Zookeeper. Was ist Zookeeper? Zookeeper ist ein Framework für die Konsistenzverarbeitung in verteilten Systemen. Weitere Informationen finden Sie in meinem vorherigen Artikel: Sagen wir es so: Zookeeper ist eigentlich nur ein Framework, das für die Konsistenzverarbeitung verwendet wird. Einfach ausgedrückt ist ZooKeeper ein Vermittler, der Immobilieninformationen an den Vermittler (Registrierungszentrum) weitergibt, und Personen, die Immobilien kaufen möchten (Verbraucher), wenden sich an den Vermittler, um eine Liste der Immobilienressourcen zu erhalten. Unser Bild sieht also so aus:
Ist es nicht viel besser? Wenn es nicht ausreicht, brauchen wir auch eine Überwachungszentrale (wofür wird sie verwendet? Natürlich dient sie der Überwachung. Was soll ich tun, wenn der Anruf fehlschlägt? Was soll ich tun, wenn er hängt?): Monitor: Überwachungszentrale, die zählt die Anzahl der Anrufe und die Anrufzeit des Dienstes. (Kein Zeichnen mehr)
Dann wird der Anbieter in den auszuführenden Container platziert, der als Container-Dienst bezeichnet wird, um den Container auszuführen. (Kein Zeichnen mehr)
Die endgültige Dubbo-Architektur, wie in der Abbildung gezeigt (beginnend bei 0):
Verwandte Empfehlungen:
Taobao Amoeba-Architektur MySQL verteilte Datenbankumgebung_MySQL
Das obige ist der detaillierte Inhalt vonGrundlegende Erklärung von Dubbo+zokeeper. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!