Netty 之编解码技术

说明

系列文章:http://www.jianshu.com/p/594441fb9c9e

本文完全参考自《Netty权威指南(第2版)》,李林峰著。

Java 序列化

Java序列化从JDK 1.1就已经提供,但是有许多缺点:

  • 无法跨语言,通信双端必须都是Java
  • 序列化后的码流太大
  • 序列化性能太低

业界主流的编解码框架

Google 的 Protobuf

Protobuf 是谷歌的开源协议,详细说明见:http://www.jianshu.com/p/8025dbe0121a

特点:

  • 结构化数据存储格式
  • 高效的编解码性能
  • 语言无关、平台无关、扩展性好
  • 官方支持Java、C++、Python三种语言

Facebook 的 Thrift

Thrift可以作为高性能的通信中间件使用,支持数据(对象)序列化和多种语言的RPC服务。

MessagePack 编解码

MessagePack是一个高效的二进制序列化框架,它像JSON一样支持不同语言间的数据交换,但是它的性能更快,序列化之后的码流更小。

你可能感兴趣的:(Netty 之编解码技术)