先啰嗦两句,RPC。
随着微服务与中台思想的普及,RPC的使用更加普遍。
RPC可以将别人的服务当本地的来用,做到了轻量、无感知通信。简单易用,说明背后有强大的支持,耳熟能详的Dubbo、SpringCloud都提供了一系列诸如服务注册、发现、路由、负载均衡等能力,用来支持RPC。
RPC连上别人服务的方式还是“tcp 三次握手”,当然和平分手的方式,还是“四次挥手”。
三次握手:
第一次:我喜欢B(SYN seq=x)
第二次:我喜欢A(SYN seq=y),我就是B呀!(ACK=x+1)
第三次: 我就是A呀!(ACK=y+1)
在一起了...
连上之后就是各种对字节流的序列化与反序列化,简单来说就是二者都拿“密码本”说“暗语”,在此,就不多啰嗦了。
我们来关心下,连接是如何保持住的。
Keep alive
这里的keep alive是tcp的,与我们在http请求上看到的Connection: