dubbo源码分析1(搭建环境)

  好久没有写博客了, 一方面是最近工作太忙了,还有就是因为在研究dubbo源码相关的,感觉没有怎么研究懂,我擦(╯—﹏—)╯(┷━━━┷

  由于以前是使用springboot开发的,很简单,然后今年在这个新的公司使用的是dubbo框架,虽然对于我精通使用crud没有任何影响╮(╯_╰)╭,但是就是觉得不弄懂其中的原理就没有安全感

  其实暗地里也偷偷的学习好久的dubbo了,大概的原理也懂了一丢丢,暂时没有深入,现在决定一遍写写博客,顺便深入一下其中源码,记录一下学习过程吧!

1.拉取源码

  dubbo开源的,已经被阿里丢给apache维护了,所以我们直接去gitee 中进行下载,版本来个2.7.5吧,也可以根据自己情况自行下载其他版本的

 

 

然后我们可以使用idea或者eclipse打开,我这里使用idea,需要慢慢等着下载依赖,走,先打一把王者吧( ̄▽ ̄)ノ

 

2.注册中心

  虽然说注册中心有很多种,比如Eureka,console,nacos,redis,zookeeper等等,但是dubbo注册中心一般就是使用zookeeper吧......

  而且使用zookeeper有一些好处,后面肯定会好好的学习一波zookeeper,这个知识点也有很多,暂时先不管这么多,先把demo跑起来再说๑乛◡乛๑

  下载zookeeper的方法应该不用多说,就是去下载一个zookeeper安装包,修改配置文件, 然后启动,可以参考这个老哥的博客

 

  上图所示,看起来注册中心更像是一个缓存的作用吧!

  当然,提供者和消费者可能都有很多个,其实上面这种架构也适用于springcloud,只不过如果是springcloud的话,第3个步骤走的就是http请求了

  其实我觉得就是dubbo和springcloud的最大区别,在远程调用的时候,一个是走tcp调用(可以自己定义协议),一个是走http调用,有兴趣的可以看看网络五层协议,而且http请求会自带一些请求头,响应头,但是我们根本用不上这个,会消耗传输性能;

  这就是为什么会有人说dubbo的效率会比springcloud高一点;

 

3.启动demo

  瞎扯了一通,我们启动好了zookeeper,然后我们启动服务提供者(我记得我启动启动这个服务提供者的时候会报程序包org.apache.dubbo.rpc.protocol.rest.support不存在的错误,我们只需要把ContentType这个类复制到对应的org.apache.dubbo.config.bootstrap.rest包下就行了

 

  启动服务消费者

 

  

  最后我们就能看到控制台的结果了,可以看到调用成功

 

  到这里我们就把demo给跑起来了,先不要去纠结源码里怎么又这么多模块,有兴趣的可以自己先看看,了解一下

  后面我们慢慢的分析其中的运行原理吧!

 

posted @ 2021-11-20 22:20  java小新人  阅读(277)  评论(0编辑  收藏  举报