协思

协作、思考、感悟、进步

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  39 随笔 :: 4 文章 :: 18 评论 :: 71001 阅读
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com
 
在分布式系统中,数据序列化传递的情形非常常见,主流的三种,JSON、XML、Protobuf。
 
XML现在已经很少使用,除非要和遗留系统交互。
 
JSON用在前端交互和跨组织的API的交互场合比较多。
 
对于内部系统,特别是性能敏感的区域,推荐使用Protobuf,可以得到最快的序列化速度和最小的结果。
 
参考资料:
http://stackoverflow.com/questions/14028293/google-protocol-buffers-vs-json-vs-xml
 
Json
human readable/editable
can be parsed without knowing schema in advance
excellent browser support
less verbose than XML
 
XML
human readable/editable
can be parsed without knowing schema in advance
standard for SOAP etc
good tooling support (xsd, xslt, sax, dom, etc)
pretty verbose
 
Protobuf
very dense data (small output)
hard to robustly decode without knowing the schema (data format is internally ambiguous, and needs schema to clarify)
very fast processing
not intended for human eyes (dense binary)
All have good support on most platforms.
posted on   协思  阅读(797)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示