Serializable和Hession

Serializable是Java提供的原生序列化方式,它提供了配套的ObjectOutputStream和ObjectIutputStream来处理Java对象的序列化读写,解析效率性能比较高,但是消耗的存储却捉襟见肘。很多框架中仅仅作为一个基础实现,但是基本无人使用。比如 Dubbo 框架中并不是使用它作为默认的序列化方式,而是使用hession。下面看看这两种序列化方式的优劣。

阅读全文>>

Kryo序列化器

Kryo是一个快速高效的java二进制对象图序列化框架。该项目的目标是高解析效率、高压缩率和易于使用的API。无论是文件、数据库还是网络上的对象,在需要持久化的场景中,该项目可以进入考虑的范围。

阅读全文>>

Avro序列化器

Apache Avro(以下简称 Avro)是一种与编程语言无关的序列化格式。Avro 数据通过与语言无关的 schema 来定义。schema 通过 JSON 来描述,数据被序列化成二进制文件或 JSON 文件,不过一般会使用二进制文件。在大数据体系下,比较注重存储的压缩率,反而对效率并没有要求得很苛刻。

阅读全文>>

加权随机算法

加权重随机是一个比较常见的计算方式,比如 负载均衡算法中的一种、随机抽奖、广告系统流量分配等等。这种算法的实现方式比较成熟。

阅读全文>>

thrift序列化协议

Apache Thrift 脱胎于 Facebook ,是一种高效的、支持多种编程语言的远程服务调用的框架。它的序列化协议同样可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

阅读全文>>