
dubbo
路行的亚洲
学习的时候,想着学习,接着就是练习与反思,因为学习本来就是一个学与习的过程,虽然我走得很慢!
展开
-
Netty实现简单RPC调用
Netty实现简单RPC调用我们知道Dubbo是一个RPC框架,那RPC框架需要实现什么?需要实现的是调用远程服务和本地服务一样方便,同时提高调用远程服务的性能。而服务端和客户端之间的关系,其实就是一个生产和消费的关系。客户端与服务端交互关系图1.服务消费方以本地调用方式调用服务2.client stub 接收到调用后负责将方法、参数等封装成能够进行网络传输的消息体3.client s...原创 2020-04-16 17:47:08 · 454 阅读 · 0 评论 -
Dubbo源码学习五-服务消费者发现
首先思考服务消费者发现从类图中,我们可以看到ReferenceBean继承了Referenceconfig,同时实现了FactoryBean、DisposableBean、ApplicationContextAware、InitializingBean,因此可以看到里面会有相应的aware方法、相应的destroy方法、 AfterPropertiesSet方法,这里我们重点关注AfterPr...原创 2020-04-16 17:42:43 · 1703 阅读 · 0 评论 -
dubbo源码学习四
前面我们已经知道服务暴露分为本地服务暴露和远程服务暴露,同时远程服务暴露又分为:进行服务暴露、服务注册到注册中心、服务订阅。而服务暴露的过程中,其实是进行相关配置的完善,进行相关协议的适配,然后适配到服务器,从而进行createServer操作,而采用默认的dubbo协议时,走的就是NettyServer,进行bind操作之后,进入到NettyServer的创建包括两种线程池:boss和worke...原创 2020-04-16 17:40:28 · 541 阅读 · 0 评论 -
dubbo源码学习三—暴露服务exporter、invoker
前面我们知道通过自定义标签,我们可以定位到相关标签的解析,同时梳理出三个重要的bean:ServiceBean、ReferenceBean、ConfigCenterBean。通过Servicebean,可以看到ServiceConfig中有我们关注的export方法。通过export,我们可以看到其暴露服务,又分为本地暴露和远程暴露两种,而暴露之前,会进行配置的检查,然后进行url的组装操作,...原创 2020-04-16 17:38:03 · 1098 阅读 · 0 评论 -
dubbo源码学习二
前面已经知道dubbo的入口可以通过自定义标签找到DubboNamespaceHandler找到解析自定义标签的相关类了。还有4个我们需要关注:ConfigCenterBean、ServiceBean、ReferenceBean、new AnnotationBeanDefintionParser()。下面我们来逐一了解:1.ConfigCenterBean[外链图片转存失败,源站可能有防盗链...原创 2020-04-16 17:30:10 · 297 阅读 · 0 评论 -
dubbo源码学习一
首先,我们知道dubbo在以前都是基于zookeeper作为配置中心的,同时是建立在spring基础之上的。因此,就需要思考一些问题: 首先dubbo是怎样和spring集成的,也即dubbo集成在spring上需要具备什么条件?接着dubbo作为一个服务治理的微服务框架,那它的生产者和消费者与注册中心怎样进行交互的。 dubbo是基于spring的基础...原创 2020-04-16 17:25:08 · 235 阅读 · 0 评论