无
作者回复: http是一种基于tcp的web通讯协议,json是一种消息格式(不是通讯协议),soap是一种web service的消息格式(soap ws通常基于http),rpc是远程过程调用,restful是web service的一种风格(基于http/json)。本质上这些东西都是帮我们实现远程调用分布在另外一台机器上的应用的某个功能,需要通信协议(http or tcp)+ 消息格式(json or soap),本质上都可以称为远程过程调用rpc,restful也是一种特殊的rpc。确有点搞,要靠经验积累要一定程度自然分清楚。
作者回复: 你讲得也是一个原因
作者回复: 对
作者回复: 大部场景restful就可以,restful是目前业界趋势。如果业务场景对性能要求很高,且企业业务规模发展到一定阶段,可考虑rpc。
作者回复: 你讲的分布式事务基于消息的实现方式,这两篇文章可以参考(medium需要翻墙): https://dzone.com/articles/data-consistency-in-microservices-architecture https://medium.com/technology-learning/event-sourcing-and-cqrs-a-look-at-kafka-e0c1b90d17d8
作者回复: 对,json rpc也是一种特殊的RPC,采用json作为消息,一般binary rpc更常见。
作者回复: 绝对性能一般REST低于RPC,但具体选择要看通讯层性能是不是你系统的瓶颈,不是瓶颈选两个任意都OK,简单选REST,性能有瓶颈则考虑RPC和二进制编码优化
作者回复: REST比较简单,对开发较友好。
作者回复: 很多公司采用对外rest + 对内rpc,但是这个方案也有一个不足:需要维护两套服务框架。