长连接

说白了, websocket 之类的优势是什么?是不需要重复创建连接,并且服务器可以往客户端发请求。
如果只是为了不重复创建连接, 那么 http 本身的长连接是可以直接使用的。
在 java 中使用 httpclient 来保持长连接的条件见 Java 中 HttpClient 对于长连接的实现

Dubbo 设计

批量请求

有没有必要做批量请求,以及批量的场景是什么样子。

首先引入一篇文章 Dubbo 性能调优之批量发送请求 ,该文章是 Dubbo 在优化性能时,引入的批量请求发送。
对于我们这种,直接进行 http 请求的远程选型来讲,完全是不需要的。
甚至于 NIO 本身在我们连接数量并不多的情况下,都不是那么重要的。我们大部分的逻辑场景,都是阻塞式的。
只要保持着连接是长连接,基本上不会出现信息需要缓冲的情况。
因为每一个连接都有自己的缓冲区 Socket 缓冲区与双全工

批量请求的还有 kafka , 但是 kafka 本身是不要求完全实时性的,所以是带有一定的延迟性的。和我们的 RPC 的场景不是特别符合。

netty-aggregateHandler

启动分离

远程设计之启动分离1020