Apache Dubbo hat die 40.000-Sterne-Marke überschritten und das Team ist stolz, die offizielle Veröffentlichung von Dubbo 3.3 bekannt zu geben! Als führendes Open-Source-Microservices-Framework war Dubbo stets bestrebt, Entwicklern leistungsstarke, skalierbare und flexible Lösungen für verteilte Dienste bereitzustellen. Die Veröffentlichung von Dubbo 3.3 mit dem Triple Einführung in Dubbo
Apache Dubboist ein leistungsstarkes, leichtes Microservices-Framework, das ursprünglich in Java entwickelt wurde. Seitdem wurde es erweitert, um mehrere Sprachen wie Go, Rust und Python zu unterstützen, was es ideal für den Aufbau sprach- und plattformübergreifender verteilter Systeme macht. Dubbo bietet umfangreiche Service-Governance-Funktionen, einschließlich Service-Registrierung und -Erkennung, Lastausgleich, Fehlertoleranz und Anrufkettenverfolgung, die Entwicklern beim Aufbau effizienter, flexibler Microservices-Architekturen helfen. Mit seiner Weiterentwicklung hat Dubbo seine Kommunikationsleistung, Service-Governance und sprachübergreifende Kompatibilität erheblich verbessert und es zu einem leistungsstarken Tool zur Unterstützung moderner Microservices-Architekturen gemacht.
Hintergrund des Triple-X-Upgrades
: In regions- oder cloudübergreifenden Anwendungen mangelte es der traditionellen Architektur von Dubbo an nativer Unterstützung für Wide-Area-Umgebungen, was Entwickler dazu zwang, zwischen mehreren Protokollen und Frameworks zu wechseln. zunehmende Komplexität.
: Herkömmliche RPC-Frameworks wie Dubbo konzentrieren sich oft mehr auf die Service-zu-Service-Verkehrsoptimierung (Ost-West). Allerdings ist der Bedarf an einer effizienten Nord-Süd-Kommunikation (Client-zu-Server) gestiegen, was zu neuen Herausforderungen führt.
: Mit dem Wachstum cloudnativer Technologien benötigen Systeme eine bessere Unterstützung für HTTP-Protokolle und sprachübergreifende Kommunikation, Bereiche, in denen es beim herkömmlichen Dubbo nicht gab optimiert.
Transformation und Durchbrüche von Triple X: Das Triple X-Upgrade geht diese Schwachstellen direkt an. Es setzt die leistungsstarken Kommunikationsfähigkeiten von Dubbo fort und erreicht gleichzeitig volle Kompatibilität mit dem gRPC-Protokoll, das die Protokolle HTTP/1, HTTP/2 und HTTP/3 unterstützt. Dies bietet mehr Flexibilität und Effizienz für cloud- und regionsübergreifende Anwendungsszenarien.
Umfassende Verkehrsunterstützung: Triple X unterstützt sowohl Nord-Süd- (Client zu Server) als auch Ost-West-Verkehr (Dienst zu Dienst). Diese nahtlose Unterstützung gewährleistet flexible Konvertierungen und verbessert die Gesamteffizienz der Kommunikationsverbindungen.
Konformität mit dem gRPC-Protokollstandard: Triple X hält sich an den gRPC-Protokollstandard und ermöglicht die Kommunikation über Protobuf. Dies ermöglicht eine nahtlose Interaktion mit gRPC-Diensten und erweitert die sprach- und plattformübergreifenden Kommunikationsfunktionen von Dubbo.
Aufgebaut auf HTTP-Protokoll, native Cloud-native-Unterstützung: Triple X basiert auf HTTP/1, HTTP/2 und HTTP/3, optimiert die Netzwerkleistung und lässt sich in Cloud-native integrieren Infrastrukturen, einschließlich Unterstützung für verschiedene Gateways und Service Meshes.
Hochleistungsoptimierung: Triple
: Triple >
Triple-X-Nutzungsszenarien
Bei einem zentralisierten Integrationsansatz gelangt der externe Datenverkehr über ein einheitliches Service-Gateway in die Backend-Dienste von Dubbo. Das Gateway übernimmt die Analyse, Weiterleitung und Weiterleitung des HTTP-Verkehrs sowie die Weiterleitung von Anforderungen an die entsprechenden Back-End-Dienste. Dieser Ansatz eignet sich für Systeme mit hohen Anforderungen an ein einheitliches Verkehrsmanagement, Flusskontrolle und Berechtigungsüberprüfung und ermöglicht eine zentrale Kontrolle des eingehenden Datenverkehrs.
Nutzungsszenario: Für Systeme, die eine zentralisierte Verwaltung externer Anfragen erfordern, wie z. B. Verkehrsüberwachung und Ratenbegrenzung, kann Triple X HTTP/1-, HTTP/2- und HTTP/3-Verkehr effizient verarbeiten über ein Service-Gateway und leiten Sie es an Dubbo-Dienste weiter.
Vorteile: Zentralisierte Steuerung, einfache Verwaltung, geeignet für große Systeme, die eine einheitliche Verkehrssteuerung benötigen.
Bei einem dezentralen Integrationsansatz können externe Clients direkt über HTTP auf Dubbo-Backend-Dienste zugreifen, ohne auf ein zwischengeschaltetes Gateway angewiesen zu sein. Dieser Ansatz eignet sich für Systeme mit hohen Leistungs- und geringen Latenzanforderungen, da er den Kommunikationsaufwand reduziert, indem er die Notwendigkeit eines Gateways eliminiert und dadurch die Reaktionsgeschwindigkeit des Systems verbessert. Durch das Entfernen des Gateway-Knotens wird außerdem eine durch Gateway-Ausfälle verursachte Nichtverfügbarkeit des Systems vermieden, wodurch die Bereitstellungsarchitektur vereinfacht und die Stabilität verbessert wird.
Nutzungsszenario: Für Systeme, die direkt über HTTP auf Dubbo-Dienste zugreifen müssen, um Zwischenschritte zu reduzieren und die Reaktionsgeschwindigkeit zu verbessern, ermöglicht Triple X die Bereitstellung von REST-APIs ohne Gateway.
Vorteile: Eliminiert Zwischenschritte, verbessert die Leistung, vereinfacht die Architektur, geeignet für Anwendungen mit geringer Latenz.
In komplexen Microservices-Architekturen kann die Handhabung sowohl des Nord-Süd-Verkehrs (Client zu Server) als auch des Ost-West-Verkehrs (Dienst zu Dienst) eine Herausforderung darstellen. Triple
Entwickler können Triplepackage org.apache.test; @DubboService public class UserServiceImpl implements UserService { // Handles east-west requests } // Triple X also supports north-south traffic @DubboService public class OrderService { @GetMapping("/order/{orderId}") public Order getOrderById(@PathVariable("orderId") String orderId) {} }
Die Kommunikation zwischen sprachübergreifenden Diensten stellt in verteilten Systemen oft eine Herausforderung dar, und gRPC ist eine beliebte Lösung. Triple Dienste, die Triple X verwenden, können ohne zusätzliche Anpassung direkt mit gRPC-basierten Diensten interagieren, was die Entwicklung vereinfacht.
3. Basierend auf dem HTTP-Protokoll, native Cloud-Native-UnterstützungIn Cloud-nativen Umgebungen müssen Dienste effektiv in verschiedene Netzwerkeinrichtungen wie API-Gateways und Service Meshes integriert werden und gleichzeitig verschiedene HTTP-Protokolle unterstützen, um die Leistung zu verbessern.
HTTP/3
löst auch Head-of-Line-Blockierungsprobleme und seine UDP-basierte Kommunikation gewährleistet eine hohe Qualität und Serviceleistung in schwachen Netzwerkumgebungen.Triple Dies vereinfacht die Netzwerkarchitektur, reduziert Wartungskosten, verbessert die Sicherheit und ermöglicht eine einfachere Durchleitung des Datenverkehrs durch Unternehmens-Firewalls und Gateways.
4. Hochleistungsoptimierung, 5-fache QPS-Verbesserung In Szenarien mit hoher Parallelität führen herkömmliche Kommunikationsprotokolle häufig zu Engpässen, die sich auf die Reaktionszeit und den Durchsatz des Systems auswirken.
Triple 🎜>
Effizientes Routing: Verwendet Radix Tree für den Routenabgleich, optimiert den Schlüssel-Hash-Algorithmus und unterstützt dynamische Aktualisierungen, was die Speichernutzung reduziert und die Abgleichseffizienz verbessert.
Optimierte Speichernutzung: Kombiniert Zero Copy mit der Wiederverwendung von Objekten, wodurch der Aufwand für das Kopieren von Daten und die Objekterstellung reduziert wird, was den Druck der Speicherbereinigung verringert und den Durchsatz erhöht.
HTTP/3-Unterstützung: Nutzt das QUIC-basierte HTTP/3-Protokoll und verbessert die Leistung bei schwachen Netzwerkbedingungen durch Reduzierung der Latenz und Verbesserung der Verbindungszuverlässigkeit.
Multiprotokoll-Stresstests und -Optimierung: Das Dubbo-Team führte umfangreiche Stresstests für mehrere Protokolle durch und führte mehrere Optimierungsrunden durch, um eine optimale Leistung in verschiedenen Szenarien sicherzustellen.
Leistungstests zeigen, dass einfache REST-Dienste mit Triple 50 %, was die Systemleistung und Ressourceneffizienz erheblich verbessert.
5. Reibungslose Migration und Framework-Kompatibilität
Übersicht über weitere Verbesserungen in dieser Version
1. Native Image AOT-Unterstützung
package org.apache.test; @DubboService public class UserServiceImpl implements UserService { // Handles east-west requests } // Triple X also supports north-south traffic @DubboService public class OrderService { @GetMapping("/order/{orderId}") public Order getOrderById(@PathVariable("orderId") String orderId) {} }
Dubbo 3.3 bietet Unterstützung für Project Loom, optimiert die Thread-Verwaltung in Szenarien mit hoher Parallelität mit virtuellen Threads, vereinfacht das asynchrone Programmiermodell und verbessert die Parallelitätsbehandlung.
Dubbo 3.3 führt außerdem neue Routing-Regeln ein, die eine flexiblere Verkehrskontrolle und Service-Governance unterstützen und die Anpassungsfähigkeit für groß angelegte Mikroservice-Bereitstellungen verbessern. Die Veröffentlichung von Apache Dubbo 3.3 markiert einen bedeutenden Meilenstein in der Microservices-Kommunikationstechnologie. Mit Triple flexibles Werkzeug zum Aufbau moderner verteilter Systeme.
Dubbo 3.3 ist die ideale Wahl, um die Herausforderungen moderner verteilter Systeme zu bewältigen . Führen Sie noch heute ein Upgrade auf Dubbo 3.3 durch und erleben Sie die Transformation durch Triple X, die eine neue Ära der Microservices-Kommunikation einläutet!
Abschluss
Das obige ist der detaillierte Inhalt vonApache Dubbo veröffentlicht: Triple X leitet eine neue Ära der Microservices-Kommunikation ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!