Dubbo环境搭建

作者: _Nuuull | 来源:发表于2018-05-27 15:04 被阅读669次

    最近刚刚贴上小猪佩奇的标签,进入公司后接触的一个项目,采用了springboot+dubbo+zookeeper的架构,对我来说,完全是一个全新的东西,但是为了能够对这个项目进行全面的测试,必然要对测试对象有深入的了解。所以决定通过实践来学习——自己搭建一个Dubbo服务。

    1.1 Dubbo原理

    Dubbo是一种分布式的服务器框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。主要用于解决负载均衡、容灾等问题。
    其基本原理可以通过一张图来概括


    dubbo原理.png

    1.1.1 节点角色说明

    Provider: 暴露服务的服务提供方。

    Consumer: 调用远程服务的服务消费方。

    Registry: 服务注册与发现的注册中心。

    Monitor: 统计服务的调用次调和调用时间的监控中心。

    Container: 服务运行容器。

    1.1.2 调用关系说明

    0.服务容器负责启动,加载,运行服务提供者。

    1.服务提供者在启动时,向注册中心注册自己提供的服务。

    2.服务消费者在启动时,向注册中心订阅自己所需的服务。

    3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

    4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

    5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

    1.2 环境配置

    jdk1.8 + tomcat9 + zookeeper3.4.10 + dubbo2.5.10

    1.3 zookeeper的安装

    zookeeper是一种分布式协调服务,我们的项目中选用了它,用于维护和监控存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

    下载zookeeper安装包 zookeeper-3.4.10下载,然后进入到conf目录下,新建一个zoo.cfg

    #tickTime: zookeeper中使用的基本时间单位,毫秒值。
    
    #dataDir: 数据目录,即自己下载的zookeeper的data目录
    
    #dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置
    
    #clientPort: 监听client连接的端口号。
    
    tickTime=2000
    
    dataDir= /usr/local/zookeeper-3.4.10/data 
    
    dataLogDir=/usr/local/zookeeper-3.4.10/logs
    
    clientPort=2181
    

    添加以上配置并保存后,进入zookeeper-3.4.10/bin目录下 执行./zkServer.sh start ,如图所示,zookeeper启动成功

    zookeeper启动

    1.4 dobbo admin安装

    1.4.1 打包

    安装dubbo admin需要下载dubbo-admin的war包。为了避免版本的冲突问题,这里我选择了自己打包。步骤很简单,去官网下载dubbo源码,然后进入到本地的dubbo-admin目录

    cd /Users/Jocelyn/Downloads/incubator-dubbo-dubbo-2.5.10/dubbo-admin
    

    在该目录下执行编译打包

    mvn package -Dmaven.test.skip=true -e
    

    这里加上-e控制Maven的日志级别,打印错误信息,便于定位执行中可能遇到的问题,我这次打包的过程一直失败,查看错误信息发现抛java.lang.ArrayIndexOutOfBoundsException: 31523 的错误,尝试了很多办法,最后重装了一个3.5.3版本的maven,问题解决。

    打包完成后,dubbo-admin下会生成一个target文件夹,如图所示,可以在该文件夹下找到生成的war包。

    dubbo目录结构

    然后将这个war包拷贝出来,放到 本地的ApacheTomcat/webapps目录下。

    1.4.2 修改dubbo的配置

    进入/ApacheTomcat/webapps/dubbo-admin-2.5.10/WEB-INF修改dubbo.properties文件

    dubbo.registry.address=zookeeper://127.0.0.1:2181
    
    dubbo.admin.root.password=root
    
    dubbo.admin.guest.password=guest
    

    配置dubbo的注册中心地址以及用户名密码。

    1.4.3 启动

    以上工作完成之后,进入到/ApacheTomcat/bin目录下启动Tomcat,输入命令:

     ./startup.sh
    

    然后打开本地浏览器,输入http://localhost:8080/dubbo-admin-2.5.10/,在弹框中输入用户名密码。

    DuangDuangDuang 就可以看到下图页面,dobbo环境就搭建完成了~

    dubbo-admin启动成功页面

    接下来就可以把dubbo和zookeeper集成到spring-boot中,之后将在另一篇文章中进行总结。

    相关文章

      网友评论

      本文标题:Dubbo环境搭建

      本文链接:https://www.haomeiwen.com/subject/hlpbjftx.html