Fischhaut -RPC -Rahmen
Nehmen Sie von 0 bis 1 mit, um Ihr eigenes RPC -Framework zu entwickeln
Fischhaut Originalprojekt Tutorial Serie: https://yuyuanweb.feishu.cn/wiki/sepywtc9tipqicktw7uc7kujncd
Projekteinführung
Ein Hochleistungs-RPC-Framework, der auf Java + etcd + vert.x basiert, verwendet einen neuartigen Technologie-Stapel, um alle Räder von 0 bis 1. zu entwickeln. (Singleton/Fabrik/Dekoratoren usw.), Ladungsbalancer-Design, Wiederholung und Fehlertoleranzmechanismen, Annotationsentwicklung von Springstiefeln usw., die architektonische Konstruktionsfähigkeiten erheblich verbessert.
Das Projekt ist in grundlegende und erweiterte Versionen unterteilt:
- Die Grundversion kann in nur wenigen Stunden im Lebenslauf geschrieben werden ~
- Die erweiterte Version wird ein technisches Projekt voller Highlights sein und mit einem Geschäftsprojekt kombiniert, um den Lebenslauf wettbewerbsfähiger zu gestalten.
Lernen oder mehr lernen: handgeschriebenes RPC -Framework (24 Jahre neuester)
Open Source-Adresse: https://github.com/liyupi/yu-rpc
Kapitel 1 des Tutorials kann kostenlos gelernt werden
Anweisungsvideo - RPC Erklärung
Projektanzeige
Verzeichnisstruktur:

Detailliertes Text-Tutorial auf Nanny-Ebene:

Technische Auswahl
hinteres Ende
Backend -Technologie ist hauptsächlich Java, aber alle Ideen und Designs können in andere Sprachen wiederverwendet werden, und der Code ist einfach anders.
- ️ Vert.x Framework
- ️ etcd Cloud Native Storage Middleware (JETCD -Client)
- Zookeeper Distributed Coordination Tool (Kurator Client)
- ️ SPI -Mechanismus
- ️ Mehrere Serialisierer
- JSON -Serialisierung
- Kryo -Serialisierung
- Hessische Serialisierung
- ️ Mehrere Designmodi
- Double Check -Sperren -Singleton -Modus
- Fabrikmodell
- Agentenmodus
- Dekoratormodus
- ️ Federstiefel Starterentwicklung
- Reflexions- und Annotationsantrieb
- Guaven -Wiederholungsbibliotheken
- Junit Unit Tests
- Logback -Protokollbibliothek
- Hutool, Lombok Toolbibliothek
Quellcode -Verzeichnis
- Yu-RPC-Core: Fischhaut RPC-Rahmenkerncode
- Yu-RPC-Easy: Fischhaut RPC-Rahmen einfacher Version (geeignet für Anfänger)
- Beispielkommon: Beispiel Code Common Modul
- Beispiel-Verbraucher: Beispiel Service-Verbraucher
- Beispiel-Provider: Beispieldienstleister
- Beispiel-Sprüche-Boot-Verbraucher: Beispiel für den Probendienst (Spring Boot Framework)
- Beispiel-Sprüche-Boot-Provider: Beispieldienstanbieter (Spring Boot Framework)
- Yu-RPC-Spring-Boot-Starter: Annotationsgesteuerte RPC-Framework, das in Spring-Boot-Projekten schnell verwendet werden kann
Projekt -Tutorial -Umriss
Dieses Projekt enthält viele Inhalte, sodass Sie sehen können, ob Sie Wissenspunkte haben, die Sie lernen möchten.
Kapitel 1: RPC Framework einfache Version
- RPC grundlegende Konzepte und Funktionen
- RPC Framework Implementierungsideen | Basisdesign
- RPC Framework Implementierungsideen | Erweitertes Design
- Einfache Version der RPC -Entwicklung | Projektinitialisierung
- Einfache Version der RPC -Entwicklung | Webserver
- Einfache Version der RPC -Entwicklung | Lokaler Service -Registrant
- Einfache Version der RPC -Entwicklung | Serializer
- Einfache Version der RPC -Entwicklung | Prozessor anfordern
- Einfache Version der RPC -Entwicklung | Verbraucher
- Einfache Version der RPC -Entwicklung | Testüberprüfung
Kapitel 2: RPC Framework -Erweiterungsversion
- Globale Konfigurationsbelastung | Erweiterte Versionsprojektinitialisierung
- Globale Konfigurationsbelastung | Implementierung von Konfigurationsladen
- Globale Konfigurationsbelastung | Walten Sie globale Konfigurationsobjekte bei
- Schnittstelle Mockdesign und -implementierung
- Serializer | Vergleich der Mainstream -Serialisierer
- Serializer | Mehrere Serializer -Implementierungen
- Serializer | SPI -Mechanismus
- Serializer | Extensible Serializer -Implementierung (SPI + Factory -Modus)
- Registrierungszentrum | Kernkompetenzen des Registrierungszentrums
- Registrierungszentrum | Technische Auswahl des Registrierungszentrums
- Registrierungszentrum | Erste Schritte mit nativen Middleware von ETCD Cloud
- Registrierungszentrum | Implementierung des Registrierungszentrums basierend auf ETCD
- Registrierungszentrum | Implementierung des erweiterbaren Registrierungszentrums (SPI + Factory -Modus)
- Registrierungszentrum Optimierung | Herzschlagerkennung und Erneuerungsmechanismus
- Registrierungszentrum Optimierung | Serviceknoten -Offline -Mechanismus
- Registrierungszentrum Optimierung | Consumer Service Cache
- Registrierungszentrum Optimierung | Cache -Update (ETCD -Hörmechanismus)
- Registrierungszentrum Optimierung | Implementierung des Zookeeper Registrierungszentrums
- Benutzerdefinierte Protokoll | Anforderungsanalyse und Lösungsdesign
- Benutzerdefinierte Protokoll | Message Structure Design (siehe Dubbo)
- Benutzerdefinierte Protokoll | Netzwerkübertragungsdesign (Implementierung des TCP -Servers basierend auf vert.x)
- Benutzerdefinierte Protokoll | Encoder/Decoder
- Benutzerdefinierte Protokoll | TCP -Anfrageprozessor
- Benutzerdefinierte Protokoll | TCP -Anfrage Client
- Benutzerdefinierte Protokoll | Analyse des Problems mit klebrigen Halbverpackungen
- Benutzerdefinierte Protokoll | Verwenden Sie Vert.x, um klebrige halbe Paketprobleme zu lösen
- Benutzerdefinierte Protokoll | Client -Code -Optimierung (Dekoratormodus)
- Lastausgleich | Lastausgleichskonzept und gemeinsame Algorithmen
- Lastausgleich | Konsequentes Hash
- Lastausgleich | Multiple Lastausgleichsimplements
- Lastausgleich | Skalierbare Implementierung von Lastausgleichern (SPI + Factory -Modus)
- Wiederholungsmechanismus | Wartepolitik wiederholen
- Wiederholungsmechanismus | Lösungsdesign wiederholen
- Wiederholungsmechanismus | Implementierung mehrerer Wiederholungsstrategien
- Wiederholungsmechanismus | Extensible Wiederholung der Richtlinienimplementierung (SPI + Factory -Modus)
- Fehler-toleranter Mechanismus | Fehlertolerante Richtlinien und Implementierungsmethoden
- Fehler-toleranter Mechanismus | Fehlertolerantes Lösungsdesign
- Fehler-toleranter Mechanismus | Implementierung mehrerer fehlertoleranter Strategien
- Fehler-toleranter Mechanismus | Skalierbare fehlertolerante Richtlinienimplementierung (SPI + Factory-Modell)
- Startmechanismus | Framework Schnellstartklasse
- Startmechanismus | Annotationsgesteuerte Design
- Startmechanismus | Spring Boot Starter Annotation Treiber Implementierung
- Projekterweiterungsideen
Vollständige Projekt -Tutorial -Studie
Klicken Sie hier, um der Programmiernavigation beizutreten, und alle Originalprojekte in der Vergangenheit können gelernt werden.