All too well

用 Netty 自己实现 Dubbo RPC

11.1 RPC 基本介绍 RPC(Remote Procedure Call)—远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样(如图) 常见的 RPC 框架有:比较知名的如阿里的 Dubbo、Googl...

TCP 沾包和拆包及解决方案

9.1 TCP 粘包和拆包基本介绍 TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle 算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样做虽然提高了效率,但是接收端就难于分辨出完整的数据包了,因为面向流的通信是无...