Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuáles son las ventajas y desventajas de thrift y google protobuffer?

¿Cuáles son las ventajas y desventajas de thrift y google protobuffer?

Google es Google, incluso si se promociona, seguirá haciendo que la gente lo vea. De hecho, los buffers de protocolo no son un concepto nuevo, sin mencionar cosas similares como ASN.1 e ICE tradicionales. Facebook lanzó Thrift hace un año. Hay que decir que el posicionamiento es muy cercano. También hay rumores de que los buffers de protocolo primero se hicieron populares dentro de Google, y luego la gente de Google saltó a Facebook, y salió lo de Thrift... Jaja, dejad de chismes y manos a la obra. Ventajas y desventajas vistas a través de la observación Ahorro: admite una gama más amplia de lenguajes c++, java, python, ruby, csharp, haskell, ocmal, erlang, cocoa, php, squeak (realmente extraño) protobuf actualmente solo admite c++, java, python Y se desarrollarán otros lenguajes. Thrift proporciona funciones más ricas: Thrift proporciona una arquitectura RPC simple (de hecho, no es simple, hay bloques y no bloques ...) protobuf parece estar haciendo lo suyo. De todo corazón, solo Proporciona funciones de serialización y deserialización. Thrift admite múltiples formatos de protocolo. La implementación del código de Thrift tiene abstracciones especializadas de TProtocol y TTransport, que trabajan juntas para implementar múltiples protocolos y facilitar la integración de varios métodos de transmisión. Al menos por ahora, Thrift puede usar json como protocolo de serialización. protobuf parece conformarse sólo con un protocolo y está decidido a hacer que este formato sea bueno. La entrada y la salida también son flujos estándar. Para ser honesto, este no es del todo cierto. Para facilitar la depuración, protobuf también proporciona la función Text_Fromat. Esto también se considera un soporte de formato no binario. posible. Thrift también proporciona módulos C en muchos idiomas (rendimiento, todo es cuestión de rendimiento). Todos los protobufs se implementan en lenguaje puro. De todos modos, ahora es de 5 a 10 veces más rápido, así que no me importa... Thrift actualmente no es compatible con la plataforma Windows, al menos c++ La biblioteca de tiempo de ejecución del lenguaje y el código generado no se pueden usar en la plataforma Windows. (Esto es realmente difícil de aceptar. La tecnología moderna es muy avanzada y hay un impulso enorme. ¿Es tan difícil admitir Windows?) Protobuf no tiene este problema. Proporciona archivos de proyecto de Visual Studio y se puede compilar sin problemas en la plataforma Windows. . (Fuera de tema: si no sabe cómo usar googletest en la plataforma Windows, puede consultar los casos de prueba de protobuf). La biblioteca de tiempo de ejecución de Thrift C++ no funciona actualmente en Windows. Esto significa que podrá compilar archivos ThriftIDL en C++/Java/Python/etc., pero no podrá compilar ni ejecutar el código C++ generado en. Windows. thrift wiki protobuf se centra en la expresión del lenguaje y también pone mucho esfuerzo en la eficiencia del almacenamiento. Es muy conveniente utilizar protobuf para leer y escribir estructuras de datos directamente. Thrift se centra en la creación de servicios escalables que cuentan con idiomas. Se caracteriza por admitir muchos idiomas y proporcionar un marco de servicio rpc completo, que puede crear fácilmente servicios directamente sin hacer demasiado trabajo.

Cuando el tipo de datos es relativamente fijo, thrift o protobuf serán mucho más convenientes que procesar directamente xml. Ya sea tipo DOM o SAX, no es tan conveniente como acceder directamente a la estructura de datos. Comentarios del interlocutor: ¡Gracias por ayudarme mucho!