• 解编码框架的比较(protobuf,thrift,Marshalling,xml)


    1.ProtoBuf 

    特点:

    1.结构化数据存储格式

    2.高效的解编码性能。

    3.语言无关,平台无关,扩展性好。

    4.官方支持java,c++,python三种语言。

    5.性能比较好

    (与之对比xml的重大缺点:xml的解析时间开销和xml为了可读性而牺牲的空间开销都非常大,所以xml不适合做高性能通协议,proto使用二进制编码,在空间和性能上有很大优势)

    5.protobuf有数据描述文件与代码生成机制,文本化的数据描述语言,可以实现语言与平台无关。

    6.通过标识字段的顺序,可以实现协议的向前兼容。

    7.代码自动生成。

    8.结构化的文档更容易管理和维护。

    2.Thirft

    Thirft源自FaceBook,可以作为高性能通信的中间件使用,支持数据序列化和多种类型的RPC服务。thirft适用于静态的数据交换,数据结构发生变化时,需要重新编译IDL文件(protobuf就不需要这样)性能测试感觉稍稍比protobuf好一些。

    3.Marshualling

    JBoss的marshalling是一个java对象的序列化API包,修正了JDK自带的序列化包的很多问题,但又保持跟java.io.Serializable接口的兼容。

    相对于传统的java序列化机制,优点是

    1.可插拔的类解析器,通过一个接口即可实现定制。

    2.可插拔的对象替换技术,不需要通过继承的方式。

    3.无需实现java.io.Serializable接口,即可实现java序列化。

    通过缓存技术提供对象的序列化性能。

    4.JBoss Marshalling更多在JBoss内部使用,应用范围有限。

    xml

    1.易读,好理解。

    2.性能很差。

  • 相关阅读:
    UVA
    题目1008:最短路径问题
    怎样使用安卓变声电话软件实现边变声边通话
    Map接口及其子类
    oracle slient静默安装并配置数据库及仅安装数据库不配置数据库shell
    oracle db_unnqiue_name db_name sid_name instance_name service_name
    oracle 配置监听
    oralce dubugs
    sqlplus conn远程连接
    centos 修改shm
  • 原文地址:https://www.cnblogs.com/caobojia/p/6415635.html
Copyright © 2020-2023  润新知