RPC核心
通过之前的分析,个人觉得RPC的核心功能是动态代理和Socket
RPC性能三个主题
- 传输:用什么样的通道将数据发送给对方,BIO、NIO或者AIO,IO模型在很大程度上决定了框架的性能。
I/O调度模型:同步阻塞I/O(BIO)还是非阻塞I/O(NIO)。 - 协议:采用什么样的通信协议,HTTP或者内部私有协议。协议的选择不同,性能模型也不同。相比于公有协议,内部私有协议的性能通常可以被设计的更优。
序列化框架的选择:文本协议、二进制协议或压缩二进制协议。 - 线程:数据报如何读取?读取之后的编解码在哪个线程进行,编解码后的消息如何派发,Reactor线程模型的不同,对性能的影响也非常大。
线程调度模型:串行调度还是并行调度,锁竞争还是无锁化算法。