Qu'est-ce que le framework RPC ?
Si RPC peut être résumé en une phrase : Appel de procédure à distance
Alors qu'est-ce que l'appel à distance ?
Habituellement, nous appelons une méthode en php, comme cette méthode de fonction : localAdd(10, 20). L'implémentation spécifique de la méthode localAdd est soit définie par l'utilisateur, soit il s'agit d'une fonction dans. la bibliothèque php. Avec, c'est à dire que le code de la méthode localAdd est implémenté localement, c'est un appel local !
Appel à distance signifie : l'implémentation spécifique de la méthode appelée n'est pas là où le programme est exécuté, mais dans un autre endroit distant.
Principe de l'appel à distance
Par exemple, A (client) appelle la méthode remoteAdd fournie par B (serveur) :
Tout d'abord, établissez un connexion entre A et B Connexion TCP ;
Ensuite, A sérialise le nom de la méthode qui doit être appelée (remoteAdd ici) et les paramètres de la méthode (10, 20) dans un flux d'octets et l'envoie
B accepte ce que A envoie le flux d'octets, puis désérialise pour obtenir le nom de la méthode cible et les paramètres de la méthode, puis exécute l'appel de méthode correspondant (éventuellement localAdd) et renvoie le résultat 30 A accepte le résultat de l'appel à distance ; et sorties 30. Le framework RPC encapsule les détails que je viens de mentionner et expose les utilisateurs à une utilisation simple et conviviale de l'API.Avantages de l'appel à distance
Découplage : lorsque le serveur doit modifier la méthode, le client l'ignore complètement et n'a pas besoin d'effectuer de modifications ; méthode Elle est souvent utilisée lors de la collaboration entre départements et entreprises, et le fournisseur de la méthode est généralement appelé : exposition de service.Quelle est la différence entre RPC et Socket ?
Grâce à l'explication simple ci-dessus, il semble que RPC et Socket soient similaires. Ils appellent tous des méthodes distantes et sont en mode client/serveur. J'ai aussi écrit un article auparavant : Parlons des sockets en détail Alors quelles sont les différences entre eux ?RPC (appel de procédure distante) utilise client/serveur. Le mode permet à deux processus de communiquer entre eux. Socket est l'une des méthodes de communication souvent utilisées par RPC. RPC est implémenté sur la base de Socket, qui nécessite plus de ressources réseau et système que Socket. En plus de Socket, RPC dispose également d'autres méthodes de communication, telles que http, le propre pipeline du système d'exploitation et d'autres technologies pour implémenter des appels vers des programmes distants. Dans le système Windows de Microsoft, RPC utilise des canaux nommés pour la communication.Quelle est la différence entre RPC et REST ?
Après avoir compris RPC, nous savons que RPC est en mode client/serveur et appelle des méthodes distantes. REST est également un ensemble de méthodes de protocole d'appel d'API que nous connaissons, et sur lequel il est également basé. mode client/serveur , appelle la méthode distante, alors quelle est la différence entre eux ? L'API REST et RPC encapsulent toutes deux des fonctions dans des interfaces côté serveur et les exposent pour les appels clients. Cependant, l'API REST est basée sur le protocole HTTP et REST s'engage à transmettre POST/ dans le protocole http. . GET/PUT/DELETE et d'autres méthodes et une URL lisible par l'homme pour fournir une requête http. RPC n'a pas besoin d'être basé sur le protocole HTTP Par conséquent, si les deux langages back-end s'appellent, l'utilisation de RPC peut obtenir de meilleures performances (en éliminant une série de choses telles que les en-têtes HTTP), et ça devrait être plus facile à configurer. Si le front-end appelle le back-end via AJAX, il est préférable d'utiliser l'API REST (car de toute façon, vous ne pouvez pas éviter l'obstacle HTTP).Quels sont les frameworks rpc populaires en php ?
Puisque PHP est le meilleur langage au monde, quels sont les frameworks RPC populaires en PHP ? Première liste :phprpc, yar, thrift, gRPC, swoole, hprose
En raison du temps et de l'énergie limités, il est impossible de les apprendre et de les utiliser un par un . Choisissez quelques-uns des plus utilisés au monde et utilisez-les. Le principe de RPC étant le même, les deux sont en mode Client/Serveur, mais l'utilisation de chaque framework est différente.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!