最近在复习netty,于是重新看了下dubbo是怎么使用netty的,分为server和client两部分,这篇先讲server端。
首先需要发布一个服务,看Protocol接口:
找到他的默认实现DubboProtocol中的export方法:
然后看到这里:
进bind方法看一下:
这里又出现一个新的接口Exchanger:
到他的默认实现HeaderExchanger里看一下:
这里又又出现一个新的接口Transporter,来看到Transporter接口:
主要实现有图上几种,进入他的默认netty实现看一看:
这里构造函数使用了父类AbstractServer的:
可以看到这里主要是在准备各种参数(从URL里得到),然后又调用了子类的doOpen方法:
这里我们可以看到netty中熟悉的bootstrap、bossGroup、workerGroup了。到此就完成了Netty server端的启动。中间省略了一部分细节,但是不影响这个主流程所以略去了,待有时间再补吧。。。下篇文章讲下dubbo client端中的netty。