从dubbo的启动日志里,看dubbo的架构:
流程图
上图是根据dobbo的客户端与服务端的启动日志画出的流程图
下面就来一步步看日志看图
1.启动provider
主要看这三行启动日志
2017-11-18 12:35:44,005 INFO [main] com.alibaba.dubbo.registry.support.AbstractRegistry.register(302) | [DUBBO] Register: dubbo://192.168.1.106:20222/com.yeepay.credit.demo.core.server.TtService?anyhost=true&application=tc-demo-provider&dubbo=2.5.3&interface=com.yeepay.credit.demo.core.server.TtService&loadbalance=random&methods=deleteById,count,test,getById,getUserList,add,updateById&owner=YeepayCredit&pid=16318&retries=2&revision=1.0.0&side=provider&timeout=1000000×tamp=1510979743483&version=1.0.0, dubbo version: 2.5.3, current host: 127.0.0.1
2017-11-18 12:35:44,054 INFO [main] com.alibaba.dubbo.registry.support.AbstractRegistry.subscribe(325) | [DUBBO] Subscribe: provider://192.168.1.106:20222/com.yeepay.credit.demo.core.server.TtService?anyhost=true&application=tc-demo-provider&category=configurators&check=false&dubbo=2.5.3&interface=com.yeepay.credit.demo.core.server.TtService&loadbalance=random&methods=deleteById,count,test,getById,getUserList,add,updateById&owner=YeepayCredit&pid=16318&retries=2&revision=1.0.0&side=provider&timeout=1000000×tamp=1510979743483&version=1.0.0, dubbo version: 2.5.3, current host: 127.0.0.1
第一行
Register: dubbo://192.168.1.106:20222:….TtService?interface=&methods=
把所有的接口( 包括application,methods等信息)注册到注册中心
第二行
Subscribe: provider://192.168.1.106:20222/….TtServic….category=configurators
订阅configurators动态配置
2.启动启动consumer
2017-11-18 13:13:56,798 INFO [main] com.alibaba.dubbo.registry.support.AbstractRegistry.subscribe(325) | [DUBBO] Subscribe: consumer://192.168.1.106/com.yeepay.credit.demo.core.server.TtService?application=dubbo-client&category=providers,configurators,routers&check=false&dubbo=2.5.3-SNAPSHOT&interface=com.yeepay.credit.demo.core.server.TtService&methods=deleteById,count,test,getById,getUserList,add,updateById&owner=demo&pid=16387&revision=1.0.0&side=consumer&timeout=1000000×tamp=1510982036008&version=1.0.0, dubbo version: 2.5.3-SNAPSHOT, current host: 192.168.1.106
subscribe(325) | [DUBBO] Subscribe: consumer://ip/….TtService?category=providers,configurators,routers
订阅providers,configurators,routers
3.订阅变更推送订阅信息
这一块没有确定具体日志
4.consumer建立长连接,进行数据通信
2017-11-18 13:26:53,751 INFO [main] com.alibaba.dubbo.remoting.transport.AbstractClient.connect(287) | [DUBBO] Successed connect to server /192.168.1.106:20222 from NettyClient 192.168.1.106 using dubbo version 2.5.3-SNAPSHOT, channel is NettyChannel [channel=[id: 0x6431c9f7, /192.168.1.106:54066 => /192.168.1.106:20222]], dubbo version: 2.5.3-SNAPSHOT, current host: 192.168.1.106
Successed connect to server /192.168.1.106:20222
consumer启动时建立长连接,然后在进行之后的操作
5.monitor
2017-11-18 13:39:34,891 INFO [DubboMonitorSendTimer-thread-2] com.alibaba.dubbo.monitor.dubbo.DubboMonitor.send(80) | [DUBBO] Send statistics to monitor zookeeper://127.0.0.1:2181/com.alibaba.dubbo.monitor.MonitorService?anyhost=true&application=simple-monitor&check=false&delay=-1&dubbo=2.5.3&generic=false&interface=com.alibaba.dubbo.monitor.MonitorService&methods=lookup,collect&owner=tom&pid=10861&revision=2.5.3&side=provider×tamp=1510929061419, dubbo version: 2.5.3, current host: 127.0.0.1
DubboMonitorSendTimer….send(80) …Send statistics to monitor
consumer,provider启动后,后台会启动定时器发送统计数据给monitor