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
- 请参照安装JDK
安装Zookeeper
- 请参照安装Zookeeper
安装Tomcat 7
- 请参照安装Zookeeper
安装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)