Para qualquer sistema de software distribuído não trivial , é importante ter mecanismos eficientes tanto para intercâmbio de dados e de armazenamento. Thrift é um buffer apoiado pelo Apache e Facebook, enquanto Protocol buffers são do Google . Ambos oferecem uma maneira neutra de dados estruturantes para simplificar os protocolos de comunicação . Eles também são excelentes para o armazenamento de dados . Buffers Thrift tem muitos formatos de saída mais em comparação com os buffers de protocolo. Enquanto Thrift tem excelente funcionalidade e um conjunto de recursos mais ricos, Protocolo oferece maior qualidade e melhor estrutura. Vinculações
C + + , PHP, Java , Perl , Python, Ruby, XSD , C #, Erlang , Objective C, Smalltalk, Haskell e OCaml são as ligações em buffers Thrift , enquanto os buffers de protocolo são obrigados a C + + , Java e Python. Buffers de protocolo pode também apoiar C # , Ruby e Perl. Ambos Thrift e buffers Protocol usar campos de identidade semelhantes e tags de inteiros para o seu funcionamento . Thrift tem um tipo de embutido mapa e definir o que é ausente nos buffers protocolo usado pelo Google.
Funcionalidade
Ambos Thrift e buffers de protocolo tem a mesma funcionalidade mesmo embora eles são obrigados de forma diferente para diferentes programas. Os buffers Protocol suporte à codificação de inteiros de largura variável , portanto, economizar alguns bytes de cada vez que são usados. Buffers Thrift ter um formato experimental em que eles tratam os números inteiros de largura variável . Buffers Thrift tem maior funcionalidade , enquanto Protocol buffers pontuação mais elevada em termos de documentação . Thrift também fornece uma implementação cliente-servidor completo, que é carente de tal implementação simples e completo.
Formatos de saída
buffers Thrift têm suas saídas em binário , JSON , Boolean, bytes e 16/32/64-bit inteiros. Todos estes são compatíveis com a maioria dos códigos de programação disponíveis hoje. Buffers de protocolo , por outro lado, oferecem binário , Boolean e inteiros 32/64-bit . Thrift é um programa de código aberto e, portanto, qualquer pessoa pode contribuir patches para ele. Os formatos de saída , muitas vezes sempre a mudar , porque as constantes mudanças são feitas e novos patches são instalados . Protocolo é um programa projetado com melhor estruturação formal.
Abertura e Documentação
Thrift é um buffer de código aberto e, portanto, pode ser modificado , em grande medida . Thrift é um projeto Apache e é uma grave falta de documentação consolidada. Felizmente, algumas pessoas estão fazendo esforços para a documentação. Protocolo é um projeto do Google e é baseado em códigos. Ele também tem uma lista de discussão aberta. No entanto, o Google mantém controle total sobre o projeto e impulsiona o seu desenvolvimento. Protocolo também tem documentação muito detalhada , o que é muito útil para novos usuários.