谁能解释一下在微服务架构中什么时候应该使用protocol buffer而不是JSON?反之亦然?同步和异步通信。
发布于 2018-09-21 03:41:17
何时使用JSON
ProtoBuf的优点
相对较小的简单size
说到这里,你有没有看过flatbuffers
这里介绍了其中的一些方面google protocol buffers vs json vs XML
参考资料:
https://codeclimate.com/blog/choose-protocol-buffers/
https://codeburst.io/json-vs-protocol-buffers-vs-flatbuffers-a4247f8bda6f
发布于 2018-09-20 01:55:31
当使用者是或者可能是用对JSON (例如Javascript)有内置本地支持的语言编写时,我会使用JSON,web浏览器,或者需要人类可读性的地方。说到这一点,至少对于异步调用,许多开发人员享受着直接检查队列内容以进行调试的便利,甚至在正常的开发过程中也是如此。根据所使用的技术堆栈,仅仅为了减少网络负载而使用protobuf可能值得,也可能不值得,因为在异步世界中,任何性能的提高都不会给你带来太大的好处。而且,我们不再需要像以前在大多数语言中使用JSON编组和解组那样编写一大堆样板代码。
我会用protobuf来做其他的事情。如果还有任何其他的用例需要考虑上面的问题。你可能会看到一些优点,比如性能,网络负载,它的版本控制方案提供的向后兼容性,神奇的proto文件附带的可爱的文档,以及一些验证!如果由于某种原因,您在微服务之间有许多REST或其他同步调用,则可以通过网络而不是JSON发送协议,而不需要进行大量的权衡,同时提供了大量的优势。
https://stackoverflow.com/questions/52409579
复制相似问题