stringtranslate.com

Ahorro Apache

Thrift es un IDL ( lenguaje de definición de interfaz ) y un protocolo de comunicación binaria [2] que se utiliza para definir y crear servicios para lenguajes de programación . [3] Fue desarrollado por Facebook . Desde 2020, es un proyecto de código abierto en la Apache Software Foundation .

Utiliza un marco de llamada a procedimiento remoto (RPC) y combina una pila de software con un motor de generación de código para crear servicios multiplataforma . Thrift puede conectar aplicaciones escritas en una variedad de lenguajes y marcos, incluidos ActionScript , C , C++ , [4] C# , [5] Cocoa , Delphi , Erlang , Go , Haskell , Java , JavaScript , Objective-C , OCaml , Perl , PHP , Python , Ruby , Elixir , Rust , Scala , Smalltalk y Swift . [6] La implementación se describió en un documento técnico de abril de 2007 publicado por Facebook, ahora alojado en Apache. [7] [8]

Arquitectura

La arquitectura cliente/servidor de Apache Thrift API

Thrift incluye una pila completa para crear clientes y servidores. [9] La parte superior es código generado a partir de la definición de Thrift. A partir de este archivo, los servicios generan códigos de cliente y procesador. A diferencia de los tipos integrados, las estructuras de datos creadas se envían como resultado del código generado. El protocolo y la capa de transporte son parte de la biblioteca en tiempo de ejecución . Con Thrift, es posible definir un servicio y cambiar el protocolo y el transporte sin volver a compilar el código. Además de la parte del cliente, Thrift incluye infraestructura de servidor, como servidores de bloqueo, sin bloqueo y multiproceso . La parte de E/S subyacente de la pila se implementa de manera diferente para diferentes lenguajes de programación. [9]

Thrift admite varios protocolos: [9]

Los transportes soportados son:

Thrift también proporciona varios servidores, que son:

Thrift está escrito en C++, pero puede crear código para otros lenguajes de programación. Para crear un servicio Thrift, hay que escribir archivos Thrift que lo describan, generar el código en el idioma de destino, escribir un código para iniciar el servidor y llamarlo desde el cliente. Un ejemplo de un archivo de descripción de este tipo:

enum PhoneType { CASA , TRABAJO , MÓVIL , OTROS }      estructura Teléfono { 1 : i32 id , 2 : número de cadena , 3 : tipo PhoneType }           servicio PhoneService { Teléfono findById ( 1 : i32 id ), lista < Teléfono > findAll ( ) }        

Thrift generará el código a partir de esta información descriptiva. Por ejemplo, en Java, PhoneTypeestará enumdentro de la Phoneclase.

Ver también

Referencias

  1. ^ "Apache Thrift - Descargas" . Consultado el 6 de enero de 2024 .
  2. ^ "Instalación y uso de Apache Cassandra con Java Parte 4 (cliente de ahorro)". Sodeso – Soluciones de Desarrollo de Software. Archivado desde el original el 31 de marzo de 2022 . Consultado el 30 de marzo de 2011 . Thrift es un proyecto Apache independiente que es un protocolo de comunicación binario.
  3. ^ Prunicki, Andrés. "Apache Thrift: Introducción". Computación de objetos . Archivado desde el original el 23 de julio de 2011 . Consultado el 11 de abril de 2011 . Al utilizar la generación de código, Thrift crea un conjunto de archivos que luego pueden usarse para crear clientes y/o servidores.
  4. ^ "Requisitos de ahorro". Fundación de software Apache . Archivado desde el original el 26 de febrero de 2024 . Consultado el 22 de junio de 2024 .{{cite web}}: CS1 maint: unfit URL (link)
  5. ^ Fred Potter, Usando Thrift con Cappuccino Archivado el 12 de agosto de 2011 en Wayback Machine , blog deliciosamente delicioso de paralelo48, 10 de junio de 2010.
  6. ^ Andrés Prunicki. "Apache Thrift: generación de código". Computación de objetos . Archivado desde el original el 23 de julio de 2011 . Consultado el 12 de abril de 2011 .
  7. ^ Mark Slee, Aditya Agarwal, Marc Kwiatkowski, Thrift: implementación de servicios escalables en varios idiomas
  8. ^ "Características de la biblioteca". Fundación de software Apache . 11 de julio de 2019. Archivado desde el original el 3 de mayo de 2024 . Consultado el 21 de abril de 2016 .
  9. ^ a b C Andrew Prunicki. "Apache Thrift: Introducción". Computación de objetos . Archivado desde el original el 23 de julio de 2011 . Consultado el 11 de abril de 2011 .
  10. ^ Skelton, Steven (3 de agosto de 2013). "Registro de solicitudes de ahorro fácil de usar para desarrolladores". stevenskelton.ca . Archivado desde el original el 24 de enero de 2024 . Consultado el 3 de julio de 2014 .

enlaces externos