Le chargement d'informations Netty est utilisé pour mettre en œuvre un système de communication en temps réel à longue connexion. Le client peut être utilisé dans n'importe quel scénario et prend en charge la communication http en temps réel, la communication webSocket, la communication avec le protocole TCP, la communication avec le protocole UDP, le protocole de diffusion, etc. protocole http et protocole rpc. Utilisez une structure de paquets réseau personnalisée pour implémenter une pile réseau personnalisée.
1 : Prise en charge du zookeeper distribué pour la configuration du nœud de service.
2 : Implémentez la pile de protocoles de messages privés Netty sous la forme d'annotations personnalisées.
3 : Prise en charge des appels RPC à distance.
4 : Prise en charge de Redis.
5 : Prise en charge de la séparation de base de données.
6 : Prise en charge du traitement des messages synchrone et asynchrone
7 : Prise en charge du modèle d'approvisionnement/consommation de la file d'attente de messages Kafka pour implémenter la file d'attente de messages distribuée
8 : Prise en charge de la transmission cryptée des données pour garantir la sécurité des données.
9 : Prise en charge de la soumission de transactions distribuées 3 pc et de la restauration des exceptions.
1 : Serveur de jeu
2 : Système de communication en temps réel
3 : Système de traitement des données financières
4 : Systèmes avec des exigences élevées en matière de performances réseau en temps réel
5 : Systèmes Internet communs
Module de base de données de données indépendant, module de transaction indépendant, module de planification de threads indépendant. Fournir des services réseau sous forme de microservices.
Communication TCP, en utilisant Netty pour réaliser la communication TCP, vous pouvez utiliser comtwjitmcorestartGameService dans le projet, changer le mode de démarrage en mode de démarrage du serveur TCP, vous pouvez utiliser testjavacomtwjitmClientServiceTest dans test pour simuler des clients Pour vous connecter, vous devez changer le port et l'adresse du serveur TCP pour vous connecter. Le traitement des messages TCP utilise des files d'attente de messages pour placer tous les messages entrants dans la file d'attente et traiter les messages via la technologie de pooling de threads.
Le format de la pile de protocole réseau personnalisé UDP est similaire à celui de la pile de protocole réseau personnalisé TCP. La différence est qu'UDP n'a pas besoin d'établir une connexion, qui est un mode de communication sans état dans le module de traitement des messages, la session est enregistrée lors de l'utilisation. La connexion TCP est utilisée pour déterminer de quel client il s'agit. Le protocole UDP peut traiter correctement les messages envoyés par le client via deux modes de traitement de messages différents, notamment : le mode file d'attente synchrone ;
Le protocole HTTP est également implémenté à l'aide d'une pile de protocoles réseau personnalisée, similaire aux protocoles TCP et UDP, sauf que les paquets de données sont différents. HTTP est un protocole construit sur la couche application de TCP. Utilisez le traitement synchrone pour traiter les messages en temps opportun dès leur arrivée.
Le module RPC est divisé en appels synchrones et asynchrones, appels de serveur distant, utilisation de Netty pour implémenter un cadre de serveur RPC léger et personnalisation des stratégies de concession de threads. Combiné avec des connaissances de base Java telles que le proxy dynamique, le module de communication du serveur rpc est implémenté. Utilisez des documents XML pour configurer les informations de base du serveur RPC afin de réaliser une expansion horizontale dynamique du serveur. Effectuer des préparations de base pour les serveurs distribués
En intégrant zookeeper, les services d'enregistrement dynamique, les services de découverte et l'intégration de la logique rpc, la découverte et l'enregistrement de services distribués sont réalisés.
En intégrant les services kafka. Implémentez des files d’attente de messages de serveur distribué et découplez la logique du système.
Toujours en train d'optimiser, d'optimiser la complexité spatiale, la complexité temporelle, le temps de réponse, les capacités de tests de résistance et d'autres performances du projet
Ce projet utilise spring pour gérer uniformément certains beans.Lorsque le serveur est démarré, l'initialisation du conteneur est uniformément soumise à spring. Grâce aux annotations fournies par spring, il est facile d'obtenir les objets bean injectés dans le conteneur spring et d'améliorer la lisibilité de ceux-ci. le code.
Grâce à la gestion des threads, les mises à jour des événements du serveur utilisent le mode indépendant pour mettre à jour les événements du serveur et le mode file d'attente pour permettre l'exécution en série des événements.
Auteur : Ne prenez pas un bon surnom avec désinvolture twjitm qq : 1089718215
Adresse du blog https://blog.csdn.net/baidu_23086307
Adresse du site Web personnel ; https://twjitm.com