RPC:
百度百科定义为:
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
通俗的理解rpc就是客户通过一些参数端远程调用服务端机器上的一些方法,就是把服务器上面的方法暴露给客户端,不需要了解底层网络技术的协议,像http或者tcp
Restful:
严格的说restful不是一种技术,而是一种设计风格,他强调的是一切接口都是围绕资源产生的,就是资源的CURD,操作也只有4个,httpget,httppost,httpput,httpdelete。万物皆资源,严格的按照一个uri确定唯一的一条资源定义。 这个定义就是比较严格的定义,uri的顺序不对就会产生不同的资源。