MessagePack
MessagePack es un formato eficiente de serialización binaria que es como JSON, pero más rápido y compacto. Codifica datos estructurados en formato binario manteniendo la compatibilidad de tipos con JSON (maps, arrays, strings, numbers, booleans, null).
Tipo MIME
application/x-msgpack
Tipo
Binario
Compresión
Sin pérdida
Ventajas
- + Smaller and faster than JSON with no schema required
- + Drop-in JSON replacement — same data model
- + Implementations in 50+ programming languages
Desventajas
- − Not human-readable in binary form
- − No schema validation — same weakness as JSON
- − Less widely adopted than JSON or Protobuf
Cuándo usar .MSGPACK
Usa MessagePack cuando necesites serialización tipo JSON pero con menor tamaño y mayor velocidad, especialmente para comunicación entre servicios, caché o protocolos de juegos.
Detalles técnicos
MessagePack codifica valores usando bytes de prefijo de tipo: enteros positivos (0x00-0x7f), enteros negativos (0xe0-0xff), cadenas, binarios, arrays, maps, flotantes, booleanos y nil. Ofrece tipos de extensión para valores personalizados. Típicamente un 30-50% más pequeño que JSON.
Historia
Sadayuki Furuhashi creó MessagePack en 2008 en Japón. Ganó popularidad como alternativa binaria más rápida a JSON, particularmente en el ecosistema Ruby/Rails y aplicaciones de juegos. Redis, Fluentd y muchas APIs de juegos usan MessagePack.