可以先看这边博客对dubbo的整体架构有个基本的了解
DUBBO架构
1 dubbo通信机制
dubbo是一种NIO模式,消费端发起请求后得到一个ResponseFuture,然后消费端一直轮询这个ResponseFuture直至超时或者收到服务端的返回结果
2 第一种超时机制
public Object get(int timeout) throws RemotingException {
//1 获取超时时间,该timeout是根据配置文件的优先级获取的
if (timeout <= 0) {
timeout = Constants.DEFAULT_TIMEOUT;
}
//2 如果response不为空,则代表返回报文已经接收到了
if (!isDone()) {
long start = System.currentTimeMillis();