Qual è il framework RPC e Apache Thrift?

Devo imparare Apache Thrift per un progetto universitario. Come dice questo tutorial , è un framework RPC, ed è stato l’unico documento che ho trovato per Thrift oltre alla loro documentazione .

Qualcuno può dirmi che cos’è un framework RPC e in che modo si tratta di Apache Thrift?

    Un framework RPC in generale è un insieme di strumenti che consentono al programmatore di chiamare un pezzo di codice in un processo remoto, sia esso su una macchina diversa o semplicemente su un altro processo sulla stessa macchina.

    Nel caso particolare di Apache Thrift , parliamo di un framework progettato per essere efficiente e disponibile su entrambe le piattaforms OS e i linguaggi di programmazione. Inoltre, si ha una certa flessibilità per quanto riguarda i trasporti (come socket, pipe, ecc.) E protocolli (binari, JSON, anche compressi), oltre ad alcune altre opzioni come il supporto SSL o SASL.

    Ad esempio , puoi configurare un server su una macchina Linux, scritto in C ++ che offre alcuni servizi al mondo attraverso un protocollo basato su JSON su HTTP. Questo servizio può essere chiamato da un programma client scritto in Python, in esecuzione su una macchina Windows. Il codice per server e client è generato da un file IDL di risparmio. Per farlo funzionare, devi fondamentalmente aggiungere solo la logica del programma desiderata e mettere insieme tutti i pezzi.

    Il singolo miglior riferimento per Apache Thrift è ancora Apache Thrift Whitepaper . Sebbene leggermente obsoleto in alcuni dettagli, i concetti sottostanti sono ancora validi. Un’altra buona lettura è “Missing Guide” di Diwaker Gupta e, non ultimo, il prossimo libro di Randy Abernethy .

    Per i principianti, vorrei raccomandare di iniziare con la suite di tutorial Apache Thrift, questi esempi mostrano molte delle caratteristiche principali. Se ti imbattete in domande, siete invitati a chiedere qui su SO, o sulle mailing list di Thrift.