zoukankan      html  css  js  c++  java
  • 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给跑起来了,先不要去纠结源码里怎么又这么多模块,有兴趣的可以自己先看看,了解一下

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

    --------------以上皆原创,给未来的自己留下一点学习的痕迹!--------
  • 相关阅读:
    巧用boost库实现字符串映射消息处理函数
    Apache Continuum 1.3.6 GA 发布下载
    NetBeans 时事通讯(刊号 # 98 Apr 08, 2010)
    source insight
    vim 树形目录插件NERDTree安装及简单用法 心灵净土 博客频道 CSDN.NET
    Janus: Vim Distribution
    vim中的复制与粘贴 | WangYan BLog
    ctagsrevised
    vi的复制粘贴命令_简简单单_百度空间
    贴个自个用的vimrc zmlovelx(帅得不敢出门 c/c++群31843264) 博客频道 CSDN.NET
  • 原文地址:https://www.cnblogs.com/wyq1995/p/15582828.html
Copyright © 2011-2022 走看看