Dubbo简介及搭建

Posted by Xi Yang on January 20, 2018
Dubbo简介
  • Dubbo是什么?

    DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

  • Dubbo工作原理

    start: container启动,通过配置直接整合在spring中,当web容器启动时,自动启动dubbo服务。
    register: 将服务通过dubbo的url发布到注册中心。
    subscribe: 消费者可订阅服务,在整个订阅过程中,无论服务的启动与否对于消费者来说都是没有关系,从服务到消费是没有耦合的。
    notify: 注册中心通过不间断的beatheart来向消费者通知注册信息。
    invoke: 消费者直接调用服务。
    monitor: 监视并支配需求。如并发比较集中,会分配到合理的服务节点满足消费者的请求。可以通过权重等相关的配置信息。

  • Dubbo的特点以应用场景

    Dubbo的默认协议,是基于mina1.1.7+hessian3.2.1的tbremoting交互

    传统企业经过架构重构进行分布式转型,并成本代价没有那么高。为模块,组件之间减少耦合提供了便利。

  • Dubbo局限

    由于底层使用是netty的NIO框架,在使用过程中有一定的局限性。基于这种长连接的方式,需要结合需求尽量在局域网中使用dubbo的这种通讯方式。

安装JDK
安装Zookeeper
安装Tomcat 7
安装Dubbo
  • 准备一个新的Tomcat, 并删除webaap下所有文件夹

  • 下载Dubbo war包: war包地址: http://download.csdn.net/download/z280298909/10014125 github地址:https://github.com/alibaba/dubbo

  • 将下载的war包部署在webapp下

  • 如有多个tomcat,请增加以下内容至 /etc/profile

      CATALINA_3_BASE=/usr/local/tomcat_dubbo
      CATALINA_3_HOME=/usr/local/tomcat_dubbo
      TOMCAT_3_HOME=/usr/local/tomcat_dubbo
      export CATALINA_3_BASE CATALINA_3_HOME TOMCAT_3_HOME
    
  • 如有多个tomcat,请在tomcat bin下的catalina.sh中 #OS specific support. 后增加跟上一步增加的环境变量对应:
      export CATALINA_BASE=$CATALINA_3_BASE
      export CATALINA_HOME=$CATALINA_3_HOME
    
  • 如有多个tomcat,请注意在tomcat conf下server.xml中修改三个端口,以防止端口冲突
登录Dubbo
  • 根据服务器地址和tomcat设置的端口加上/admin 登录Dubbo 初始用户名为root 密码为root (10.10.10.1:8080/admin)

  • 直接使用服务器和端口访问Dubbo (10.10.10.1:8080)