知识卡片

统一接口协议还不够,必须统一数据格式

普通读书笔记卡 · 1687.b

内容

微服务提倡用 HTTP/REST 或 RPC 统一接口协议,但只统一协议不够,还要连数据格式也一并统一。若只定协议不定格式,有的服务用 XML、有的用 JSON、字段命名也各不相同,每个微服务都要自己适配几十套规范——相当于把原本由 ESB 承担的转换工作,转嫁回了每个微服务自己头上。发散:”统一标准”不是终点,标准要下沉到能消除下游重复适配成本的粒度,否则表面统一、实际各自为战。

参考来源

- 位置:《从0开始学架构》第41章《36|微服务架构最佳实践-基础设施篇》"接口框架"一节(源文件:_epub-src/OEBPS/Text/part0040_split_004.html) - 结论依据:原文明确"光统一接口协议还不够,还需要统一接口传递的数据格式……如果我们只是简单指定了HTTP/REST协议,而不指定JSON和JSON的数据规范,那么就会出现这样混乱的情况:有的微服务采用XML,有的采用JSON,有的采用键值对……这样每个微服务都要适配几套甚至几十套接口协议,相当于把曾经由ESB做的事情转交给微服务自己做了"。 - 原始内容:光统一接口协议还不够,还需要统一接口传递的数据格式……如果我们只是简单指定了HTTP/REST协议,而不指定JSON和JSON的数据规范,那么就会出现这样混乱的情况:有的微服务采用XML,有的采用JSON……相当于把曾经由ESB做的事情转交给微服务自己做了。