Das Laden von Netty-Informationen wird verwendet, um ein Echtzeit-Kommunikationssystem mit langen Verbindungen zu implementieren. Der Client kann in jedem Szenario verwendet werden und unterstützt Echtzeit-HTTP-Kommunikation, WebSocket-Kommunikation, TCP-Protokollkommunikation, UDP-Protokollkommunikation, Broadcast-Protokoll usw http-Protokoll und RPC-Protokoll. Verwenden Sie eine benutzerdefinierte Netzwerkpaketstruktur, um einen benutzerdefinierten Netzwerkstapel zu implementieren.
1: Unterstützt verteilten Zookeeper für die Serviceknotenkonfiguration.
2: Implementieren Sie den Netty-Protokollstapel für private Nachrichten in Form von benutzerdefinierten Anmerkungen.
3: Unterstützt Remote-RPC-Aufrufe.
4: Redis unterstützen.
5: Unterstützt die Datenbanktrennung.
6: Unterstützt die synchrone und asynchrone Nachrichtenverarbeitung
7: Unterstützt das Bereitstellungs-/Verbrauchsmodell für die Kafka-Nachrichtenwarteschlange, um eine verteilte Nachrichtenwarteschlange zu implementieren
8: Unterstützt die verschlüsselte Übertragung von Daten, um die Datensicherheit zu gewährleisten.
9: Unterstützt verteilte Transaktions-3-PC-Übermittlung und Ausnahme-Rollback.
1: Spieleserver
2: Echtzeit-Kommunikationssystem
3: Finanzdatenverarbeitungssystem
4: Systeme mit hohen Anforderungen an die Echtzeit-Netzwerkleistung
5: Gängige Internetsysteme
Unabhängiges Datendatenbankmodul, unabhängiges Transaktionsmodul, unabhängiges Thread-Planungsmodul. Bereitstellung von Netzwerkdiensten in Form von Microservices.
TCP-Kommunikation: Verwenden Sie Netty, um die TCP-Kommunikation zu realisieren. Sie können comtwjitmcorestartGameService im Projekt verwenden, den Startmodus in den TCP-Server-Startmodus ändern und testjavacomtwjitmClientServiceTest verwenden Test zur Simulation von Kunden. Um eine Verbindung herzustellen, müssen Sie den Port und die Adresse des TCP-Servers ändern, um eine Verbindung herzustellen. Die TCP-Nachrichtenverarbeitung verwendet Nachrichtenwarteschlangen, um alle eingehenden Nachrichten in die Warteschlange zu stellen und die Nachrichten mithilfe der Thread-Pooling-Technologie zu verarbeiten.
Das Format des benutzerdefinierten UDP-Netzwerkprotokollstapels ähnelt dem des benutzerdefinierten TCP-Netzwerkprotokollstapels. Der Unterschied besteht darin, dass UDP keine Verbindung herstellen muss. Dies ist ein zustandsloser Kommunikationsmodus. Bei der Verwendung wird die Sitzung im Nachrichtenverarbeitungsmodul gespeichert Mithilfe der TCP-Verbindung wird ermittelt, um welchen Client es sich handelt. Das UDP-Protokoll kann die vom Client gesendeten Nachrichten über zwei verschiedene Nachrichtenverarbeitungsmodi korrekt verarbeiten, darunter: den synchronen Warteschlangenmodus und den synchronen Warteschlangenmodus.
Das HTTP-Protokoll wird ebenfalls mithilfe eines benutzerdefinierten Netzwerkprotokollstapels implementiert, der den TCP- und UDP-Protokollen ähnelt, mit der Ausnahme, dass die Datenpakete unterschiedlich sind. HTTP ist ein Protokoll, das auf der Anwendungsschicht von TCP basiert. Nutzen Sie die synchrone Verarbeitung, um Nachrichten rechtzeitig bei ihrem Eintreffen zu verarbeiten.
Das RPC-Modul ist in synchrone Aufrufe und asynchrone Aufrufe, Remote-Server-Aufrufe, die Verwendung von Netty zur Implementierung eines leichten RPC-Server-Frameworks und die Anpassung von Thread-Konzessionsstrategien unterteilt. In Kombination mit grundlegenden Java-Kenntnissen wie dynamischem Proxy wird das RPC-Server-Kommunikationsmodul implementiert. Verwenden Sie XML-Dokumente, um grundlegende Informationen des RPC-Servers zu konfigurieren und eine dynamische horizontale Erweiterung des Servers zu erreichen. Treffen Sie grundlegende Vorbereitungen für verteilte Server
Durch die Integration von Zookeeper, dynamischen Registrierungsdiensten, Erkennungsdiensten und der Integration von RPC-Logik werden die Erkennung und Registrierung verteilter Dienste realisiert.
Durch die Integration von Kafka-Diensten. Implementieren Sie verteilte Server-Nachrichtenwarteschlangen und entkoppeln Sie die Logik im System.
Immer noch optimieren, die räumliche Komplexität, die zeitliche Komplexität, die Reaktionszeit, die Stresstestfunktionen und andere Leistungen im Projekt optimieren
Dieses Projekt verwendet Spring, um einige Beans einheitlich zu verwalten. Wenn der Server gestartet wird, wird die Containerinitialisierung einheitlich an Spring übermittelt. Mithilfe der von Spring bereitgestellten Anmerkungen ist es einfach, die in den Spring-Container eingefügten Bean-Objekte abzurufen und die Lesbarkeit zu verbessern der Code.
Über die Thread-Verwaltung verwenden Serverereignisaktualisierungen den unabhängigen Modus zum Aktualisieren von Serverereignissen und den Warteschlangenmodus, um die serielle Ausführung von Ereignissen zu ermöglichen.
Autor: Einen guten Spitznamen sollte man sich nicht beiläufig aneignen twjitm qq: 1089718215
Blog-Adresse https://blog.csdn.net/baidu_23086307
Persönliche Website-Adresse: https://twjitm.com