web-dev-qa-db-fra.com

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

J'ai besoin d'apprendre Apache Thrift pour un projet universitaire. Comme cela tutoriel , il s'agit d'un framework RPC, et c'est 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 se rapporte-t-il à Apache Thrift?

89
bula

Un framework RPC est en général un ensemble d'outils permettant 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 de 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é en ce qui concerne les transports (tels que les sockets, les tubes, etc.) et les protocoles (binaire, JSON, même compressé), ainsi que d'autres options telles que le support SSL ou SASL.

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

La meilleure référence pour Apache Thrift est toujours le livre blanc Apache Thrift . Bien que légèrement obsolètes dans certains détails, les concepts sous-jacents sont toujours valables. Une autre bonne lecture est "Le Guide manquant" de Diwaker Gupta , et surtout le prochain livre de Randy Abernethy .

Pour les débutants, je recommanderais de commencer par Apache Thrift suite du didacticiel , ces exemples illustrent un grand nombre des 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.

142
JensG