Heim >Java >javaLernprogramm >Was sind die RPC-Frameworks?
rpc-Frameworks umfassen: 1. RMI, Remote-Methodenaufruf; 2. Hessian, Remote-Methodenaufruf basierend auf HTTP; 3. Dubbo, Taobaos Open-Source-TCP-basiertes RPC-Framework.
Zu den RPC-Frameworks gehören:
RPC ist die Abkürzung für Remote Procedure Call. Seine Funktion besteht darin, die vertikale Aufteilung des Systems zu erleichtern das System lässt sich leichter erweitern. Es gibt viele RPC-Frameworks in Java, jedes mit seinen eigenen Eigenschaften. Zu den weit verbreiteten gehören RMI, Hessian, Dubbo usw. Ein weiteres Merkmal von RPC ist, dass es sprachübergreifend ist. In diesem Artikel wird nur RPC in der JAVA-Sprache als Beispiel verwendet.
Es gibt ein logisches Beziehungsdiagramm für RPC, am Beispiel von RMI:
Andere Framework-Strukturen sind ähnlich. Der Unterschied liegt in der Serialisierungsmethode des Objekts, dem Kommunikationsprotokoll für Übertragen des Objekts sowie Verwaltung des Registrierungszentrums und Failover-Design (mit Zookeeper).
Der Client und der Server können in unterschiedlichen JVMs ausgeführt werden. Der Client muss lediglich die Schnittstelle und die zur Laufzeit erforderlichen Daten einführen. Die wichtigsten Technologien, auf die sich RPC verlässt , Deserialisierung und Das Übertragungsprotokoll in JAVA entspricht der Serialisierung, Deserialisierung von Objekten und der Übertragung serialisierter Daten. Die Serialisierung und Deserialisierung von RMI ist in Hessisch üblich, und das Serialisierungsprotokoll von Dubbo kann im Allgemeinen unter Verwendung des TCP-Protokolls ausgewählt werden Hochleistungs-NIO-Framework Netty. Ich weiß auch etwas über Serialisierung, wie ProBuffer von Google, JBoss Marshalling und Apache Thrift usw. Ich habe einen Blogbeitrag geschrieben, in dem ich ProBuffer
1 vorstelle Es handelt sich um ein eigenes Remote-Methodenaufruftool, das jedoch bestimmte Einschränkungen aufweist. Später basierten die Prinzipien vieler Frameworks auf RMI:
Externe Schnittstelle kann auch als extrahiert werden In einigen anderen Frameworks wird Zookeeper häufig als separater Dienst verwendet, um die Rolle der Registrierungsverwaltung zu übernehmen.
2. Hessisch (HTTP-basierter Remote-Methodenaufruf)
ist hinsichtlich der Leistung nicht perfekt. Lastausgleich und Failover hängen vom Einsatz des Lastausgleichers ab von Hessian ähnelt RMI, der Unterschied besteht darin, dass die Rolle der Registrierung heruntergespielt wird. Sie wird über die angezeigte Adresse aufgerufen, verwendet HessianProxyFactory, um ein Proxy-Objekt basierend auf der konfigurierten Adresse zu erstellen, und führt auch das Jar-Paket von Hessian ein.
3. Dubbo (Taobaos Open-Source-TCP-basiertes RPC-Framework)
Ein leistungsstarkes RPC-Framework basierend auf Netty, das von Alibaba als Open Source bereitgestellt wird wie folgt:
Bevor Sie Dubbo verstehen, müssen Sie zunächst ein tiefes Verständnis von Zookeeper haben. Sobald Sie Zookeeper verstehen, wird Dubbo keine Geheimnisse mehr haben.
Die detaillierte Beschreibung von Dubbo ist in vielen Produktionsprojekten bei der Arbeit sehr detailliert. Dabei habe ich auch viele Dinge festgestellt, die Aufmerksamkeit erfordern, insbesondere die zahlreichen Konfigurationen Es ist ärgerlich, daher ist es am besten, es basierend auf dem vorhandenen Open-Source-Dubbo anzupassen und zu optimieren.
Verwandte kostenlose Lernempfehlungen: Java-Grundlagen-Tutorial
Das obige ist der detaillierte Inhalt vonWas sind die RPC-Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!