有了 Protocol buffer 还是用 JSON

简介: Protocol buffer 这东西真的很轻便吗

Protocol buffer 这东西真的很轻便吗?

 

 

Protocol buffer 这东西一点都不轻便,定义文件后需要重新编译一次,编译出来的代码没有可读性,没有可调试的可能。

版本不兼容

Protocol buffer 的版本是不会向后兼容的,你必须要保证版本一致。

如果版本升级了,恭喜你,所有的文件都需要重新编译一次。如果你的项目在 Maven 的依赖定义的有点乱,比如说一个项目中有 2 个版本,那大概率会出问题。

这个问题不是编译问题,是运行时的问题,出了问题非常不好调试。

滥用

曾经一个公司可以说一个教科书基本的滥用典范。

为了调用另外一个服务的服务层方法,定义了 Protocol buffer,然后从另外一个服务的服务层调用。

这个项目有 10 多个微服务,本地调试有可能需要启动 3 到 4 个服务才能真正拿回来一个数据,在 DevOps 定义的时候端口定义不明确,经常让开发人员搞不清楚要那个端口。

启动的时候需要占用一个端口,我们在定义 Protocol buffer 的时候需要为 Protocol buffer 单独开一个端口,这要求令人发指,本地上经常的端口冲突。

为了重用方法,很多方法不加思索的就给了一个 Protocol buffer 定义,后来发现这个方法要修的话,参数一改,另外的地方就出错,数据调用异常,空对象。

Protocol buffer 这东西看起来很美好,用起来步步惊心。

效率

Protocol buffer 标称的就是效率高。

Protocol buffer 其实本身也是基于 JSON 的数据传输格式,而且在数据传输的消息上是有大小限制的。

默认可传输的大小不大,别指望返回以几万的 List ,大概率会报错。

Protocol buffer 的数据传输是通过压缩进行传输的,JSON 数据格式因为是文本,通常压缩比还是蛮高的,只是压缩也会消耗计算能力和资源,因此有时候压缩后的传输比较难分析真正 API JSON 调用中的数据。等于是开盲盒。

对于一些定义不明确的引用,方法老改的微服务,就那么几个服务在跑的项目,就别折腾了。

直接用 JSON 吧。

https://www.ossez.com/t/protocol-buffer-json/14214/1

目录
相关文章
|
JSON 数据格式 Ruby
使用 Protocol Buffers 代替 JSON 的五个原因
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
1512 0
|
3月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
12天前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
15天前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
24天前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
2月前
|
JSON API 数据格式
干货满满!淘宝商品详情数据,淘宝API(json数据返回)
淘宝商品详情 API 接口(如 taobao.item.get)的 JSON 数据返回示例如下
|
3月前
|
JSON 算法 安全
淘宝商品详情API接口系列,json数据返回
淘宝开放平台提供了多种API接口用于获取商品详情信息,主要通过 淘宝开放平台(Taobao Open Platform, TOP) 的 taobao.tbk.item.info.get(淘宝客商品详情)或 taobao.item.get(标准商品API)等接口实现。以下是关键信息及JSON返回示例:
|
23天前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
111 3

热门文章

最新文章

下一篇
开通oss服务