曾经有一个做了8年互联网开发的来面试,我问了这个问题(原创,我接近三年)。
REST 和 RPC是两种架构设计风格。
一般情况下REST多用于与外部接口访问时的设计,RPC多用于系统内部的。
为什么这样呢?
1、RPC必然有依赖,REST必然没有,不要抬杠,SDK暂时不算。
因为RPC依赖接口的定义以及实体类,如果接口定义调用方和被调用方不同,那调用就会出现问题,一般是代理对象校验失败什么的。
REST则没有,我不关心什么方法名,类名,接口名。我只关心url和json中的key。轻依赖,且不会造成循环依赖等情况。
2、RPC的设计模式。
RPC最核心的东西就是动态代理,服务发现排第二,而且RPC框架不同实现也不一样。
所谓动态代理就是,你在xml配置一个类,一般都是
先抽烟。。。