Uma estrutura RPC em geral é um conjunto de ferramentas que permite ao programador chamar um trecho de código em um processo remoto, seja em uma máquina diferente ou apenas outro processo na mesma máquina.
No caso específico do Apache Thrift , falamos sobre uma estrutura projetada para ser eficiente e disponível em plataformas de sistema operacional e linguagens de programação. Além disso, você tem alguma flexibilidade em relação a transportes (como sockets, pipes, etc) e protocolos (binário, JSON, mesmo compactado), além de mais algumas opções como suporte SSL ou SASL.
Por exemplo , você pode configurar um servidor em uma máquina Linux, escrito em C ++, que oferece algum serviço ao mundo por meio de um protocolo baseado em JSON sobre HTTP. Este serviço pode ser chamado por um programa cliente escrito em Python, rodando em uma máquina Windows. O código para servidor e cliente é gerado a partir de um arquivo Thrift IDL. Para fazê-lo funcionar, você basicamente precisa adicionar apenas a lógica de programa pretendida e colocar todas as peças juntas.
A melhor referência para o Apache Thrift ainda é o Whitepaper do Apache Thrift . Embora um pouco desatualizados em alguns detalhes, os conceitos subjacentes ainda são válidos. Outra boa leitura é "Missing Guide" de Diwaker Gupta e, por último, não menos importante, o próximo livro de Randy Abernethy .
Para iniciantes, eu recomendaria começar com o pacote de tutoriais do Apache Thrift , esses exemplos mostram muitos dos recursos principais. Se você tiver dúvidas, pode perguntar aqui no SO ou nas listas de discussão do Thrift.