Qu'est-ce que le framework RPC et Apache Thrift?

101

J'ai besoin d'apprendre Apache Thrift pour un projet universitaire. Comme le dit ce tutoriel , il s'agit d'un framework RPC, et c'était le seul document que j'ai pu trouver pour Thrift autre que leur documentation .

Quelqu'un peut-il me dire ce qu'est un framework RPC et comment cela est-il lié à Apache Thrift?

bula
la source

Réponses:

159

Un framework RPC en général est un ensemble d'outils qui permettent au programmeur d'appeler un morceau de code dans un processus distant, que ce soit sur une machine différente ou juste un autre processus sur la même machine.

Dans le cas particulier d' Apache Thrift , nous parlons d'un framework conçu pour être efficace, et disponible sur les plates-formes OS et les langages de programmation. De plus, vous disposez d'une certaine flexibilité concernant les transports (tels que les sockets, les tuyaux, etc.) et les protocoles (binaire, JSON, même compressé), ainsi que d'autres options telles que la prise en charge de SSL ou SASL.

Par exemple , vous pouvez configurer un serveur sur une machine Linux, écrit en C ++ qui offre un service au monde via un protocole basé sur JSON sur HTTP. Ce service peut être appelé par un programme client écrit en Python, exécuté sur une machine Windows. Le code pour le serveur et le client est généré à partir d'un fichier IDL Thrift. Pour le faire fonctionner, vous devez essentiellement ajouter uniquement la logique de programme prévue et rassembler tous les éléments.

La meilleure référence pour Apache Thrift est toujours le livre blanc Apache Thrift . Bien que légèrement dépassés dans certains détails, les concepts sous-jacents sont toujours valables. Une autre bonne lecture est le "Guide manquant" de Diwaker Gupta , et enfin le livre à paraître de Randy Abernethy .

Pour les débutants, je recommanderais de commencer par la suite de tutoriels Apache Thrift , ces exemples montrent de nombreuses fonctionnalités de base. Si vous rencontrez des questions, n'hésitez pas à les poser ici sur SO, ou sur les listes de diffusion Thrift.

JensG
la source