Maison >Java >JavaBase >Quelles fonctions sont nécessaires pour créer un RPC auto-construit ?

Quelles fonctions sont nécessaires pour créer un RPC auto-construit ?

大鹏
大鹏original
2021-06-01 12:56:471642parcourir

Il existe déjà de nombreuses architectures RPC open source complètes. Si vous souhaitez comprendre comment le programme peut fonctionner de manière efficace et stable, il est nécessaire de comprendre le processus d'établissement du RPC. Le processus d'auto-construction peut être grossièrement divisé en deux parties. , la partie communication et la partie coordination.

La partie communication se compose du serveur et du client. Le serveur écoute le port convenu et attend la connexion. Le client établit un lien avec le serveur. Pour une transmission efficace des informations, les données doivent être sérialisées avant la transmission et désérialisées après la réception.

Avec les deux exigences ci-dessus, résumez certaines fonctions du serveur et du client.

Les fonctions côté serveur peuvent inclure : l'écoute des ports, la réponse aux demandes de connexion, la réception de paquets de données, l'analyse des paquets de données, l'appel de méthodes de réponse, l'assemblage des paquets de données de résultat du traitement des demandes et l'envoi de paquets de données de résultat côté client ; les fonctions peuvent inclure : établir la connexion, assembler des données, envoyer des paquets de données, recevoir des paquets de données de résultats de traitement, analyser des paquets de données et renvoyer des résultats.

Cela complète une simple fonction rpc.

En tant que produit au niveau de la production, seules les fonctions de communication de base ne suffisent pas. Des fonctions de coordination et de gestion sont également nécessaires pour que les fonctions fonctionnent de manière stable et efficace.

Un pool de connexions est nécessaire pour accélérer l'établissement des liens. Les consommateurs déployés dans les clusters ont besoin d'un équilibrage de charge. Les nœuds du cluster doivent être gérés à tout moment et les nœuds erronés doivent être éliminés. Un arrêt progressif est nécessaire pour éviter les messages provoqués par des redémarrages perdus, une protection contre les surcharges est requise, les demandes d'expiration sont rejetées, etc.

En résumé, résumons les exigences fonctionnelles des consommateurs et des producteurs.

Les consommateurs peuvent avoir : la gestion des connexions, l'équilibrage de charge, le routage des requêtes, le traitement des délais d'attente, la vérification de l'état ; les producteurs peuvent avoir : le pool de threads, la suppression des délais d'attente, l'arrêt progressif, la protection contre les surcharges.

Ce qui précède est un résumé des fonctions requises pour le rpc auto-construit. S'il y a des omissions, n'hésitez pas à les ajouter.

Recommandations associées : "Tutoriel vidéo Java"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn