究竟什么是RPC?
究竟什么是RPC?
很多人,很多地方,很多书籍都提到了RPC,那么究竟什么是RPC呢?
RPC:远程过程调用,是一种允许分布式应用程序调用网络上不同计算机的可用服务的机制。RPC服务会在注册表中给自己注册一个UUID,称为通用唯一标识符,这个UUID针对每一项服务都是一个唯一的值,且在所有的平台上通用。
当一项RPC服务启动的时候,它会获得一个高端口,并且以其UUID对该端口进行注册,有些RPC服务则会随机使用高端口,而有些服务每次都尽量使用相同的端口(如果可用)。
但在服务的生存期内,端口的分配是静态的,当一个客户端要与特定的RPC服务通讯的时候,它无法事先知道该服务在哪一个端口上运行。因此该客户端会先建立一个到服务器端口映射器服务,在135端口,并使用其请求的服务的UUID向服务器端口映射器服务查询该端口号,端口映射器会将相应的端口号返回给客户端,然后关闭连接。
最后,客户端利用端口映射器提供的端口号,新建一个到该服务的连接。
此文作者 kejiali