コンテンツへスキップ
uencoder

MessagePack

MessagePackは効率的なバイナリシリアライゼーション形式で、JSONに似ているがよりコンパクトであり、多言語サポートを持ち、RPCやキャッシュに使われる。

目的

高性能なRPCとキャッシュのために、JSONより小さく速いシリアライゼーションを提供する。

メカニズム

1バイトの型マーカーでnil、bool、整数、浮動小数点、文字列、バイト配列、配列、マップを区別する。小さな正負の整数は1バイトのfixintを、短い文字列はfixstrを使う。自己記述的ではない(スキーマか規約が必要)が、JSONよりコンパクトである。

ユースケース

  • Redisのシリアライズ値
  • Thrift/MsgPack RPCでの利用
  • ゲームサーバー通信
  • 組み込みデータ交換

例

  • 入力
    {"a":1}
    Output
    81 a1 61 01

    A map with one pair

よくあるエラー

The lack of a schema causes cross-language type mismatches
Use an IDL or explicit type conventions

関連用語

関連ツール

References