1.概述
Dubbo 自己实现的 NIO 服务器,使用在 dubbo:// 和 thrift:// 协议上。
2.源码分析
dubbo-remoting-api 的项目结构:
Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
from 《Dubbo 用户指南 —— dubbo://》
本文涉及的类图如下:
3.Endpoint
端点接口。方法如下:
/**
* Endpoint. (API/SPI, Prototype, ThreadSafe)
*
* Endpoint 接口
*
* @see com.alibaba.dubbo.remoting.Channel
* @see com.alibaba.dubbo.remoting.Client
* @see com.alibaba.dubbo.remoting.Server
*/
public interface Endpoint {
/**
* get url.
*
* @return url
*/
URL getUrl();
/**
* get channel handler.
*
* 获得通道处理器
*
* @return channel handler
*/
ChannelHandler getChannelHandler();
/**
* get local address.
*
* @return local address.
*/
InetSocketAddress getLocalAddress();
/**
* send message.
*
* @param message 消息
* @throws RemotingException
*/
void send(Object message) throws RemotingException;
/**
* send message.
*
* @param message 消息
* @param sent already sent to socket?
*/
void send(Object message, boolean sent) throws RemotingException;
/*