为什么大厂都爱问RPC和REST?顺带把SOA、SOAP一次讲透! 面试官问:"RPC、SOA、SOAP、REST之间有什么区别?",很多Java程序员听到这个问题,脑袋里瞬间开始排列组合。RPC是远程调用?SOA是架构?SOAP是协议?REST是风格?感觉每一个都认识,但是放在一起比较,又容易说乱。今天,小米就给大家讲一个故事,保证你看完之后,再遇到这个问题,脑海里不会再是一团浆糊,而是一幅完整的地图。有一家神奇的餐饮王国很久以前,有一个叫程序王国的地方,这里有一家超级大的餐饮集团——吃货集团,随着业务越来越大,他们开了很多餐厅,例如:炒菜中心火锅中心奶茶中心外卖中心会员中心支付中心每一家店都有自己的厨师。刚开始,这些店彼此之间互不联系,后来老板发现一个问题:顾客点了一份火锅套餐,还送奶茶。火锅店必须知道奶茶店有没有奶茶。会员积分要找会员中心。付款要找支付中心。库存要找仓库。于是大家开始互相打电话。第一阶段——RPC:打电话办事情RPC,全称Remote Procedure Call(远程过程调用),它最核心的思想就是我调用远程服务,就像调用本地方法一样。例如 orderService.createOrder();,实际上,这个方法可能是在另外一台服务器,但是程序员不用关心,RPC框架帮你完成:网络通信参数序列化数据传输返回结果