dubbo分布式服务框架

简介

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

1.官方网站:http://dubbo.io/

2.下载:  源码-https://github.com/alibaba/dubbo 仓库-http://repo1.maven.org/maven2/com/alibaba/dubbo


入门

1.配置dubbo依赖jar包:dubbo-2.5.3.jar

2服务端   

2.1引入dubbo命名空间:

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"

xsi:schemaLocation="http://code.alibabatech.com/schema/dubbo  http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

2.2配置当前应用名称:<dubbo:application name="xxx-admin-service"/>

2.3配置服务注册中心:<dubbo:registry address="multicast://224.5.6.7:1234" />

2.4配置暴露服务的协议与端口:<dubbo:protocol name="dubbo" port="20880"/>

2.5配置暴露服务:<dubbo:service interface="com.xxx.admin.service.TestService" ref="testServiceImpl"/>

3.消费端:  

3.1引入dubbo命名空间:

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"

xsi:schemaLocation="http://code.alibabatech.com/schema/dubbo  http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

3.2配置当前应用名称:<dubbo:application name="xxx-admin-web"/>

3.3配置服务注册中心:<dubbo:registry address="multicast://224.5.6.7:1234" />

3.4配置引用服务:<dubbo:reference interface="com.xxx.admin.service.TestService" id="testService" timeout="3000"/>


暴露服务

1注册中心暴露服务(有注册中心):  

 1.1Multicast注册中心(广播,-不推荐):

                     1.1.1说明

               不需要启动任何中心节点,只要广播地址一样,就可以互相发现,广播受网络结构限制,只适合小规模应用或开发阶段使用。广播地址段: 224.0.0.0 - 239.255.255.255

                    1.1.2两种配置方式

                              1<dubbo:registry address="multicast://224.5.6.7:1234" />

                              2 <dubbo:registry protocol="multicast" address="224.5.6.7:1234" />

                                                                    protocol 协议 multicast

                                                                   address 广播地址 ip地址:224.5.6.7 ip地址:端口 224.5.6.7:1234             

                    1.1.3注意:依赖于网络拓普和路由,跨机房有风险 , 小规模应用或开发测试环境,正试环境建议使用dubbo-2.3.3以上版本的zookeeper注册中心。          

  1.2Zookeeper注册中心(推荐):

                    1.2.1说明

                    Zookeeper 分布式协调服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader 选举、队列管理等)

                    1.2.2下载与安装Zookeeper

                               下载zookeeper-3.4.8.tar.gz   http://www.apache.org/dyn/closer.cgi/zookeeper/

                                在linux系统中安装zookeeper

                    1.2.3配置jar依赖

                                zookeeper-3.4.8.jar   依赖netty-3.7.0.Final.jar

                                zkclient-0.1.jar    ZKClient是Datameer开源的一个Zookeeper客户端实现,以提升zookeeper客户端的健状性

                    1.24Zookeeper配置

                            <dubbo:registry address="zookeeper://192.168.12.168:2181"/>

                          <dubbo:registry protocol="zookeeper" address="192.168.12.168:2181"/>

                                                        protocol 协议  zookeeper

                                                        address 服务地址  ip地址 192.168.12.128 ip地址:端口 192.168.12.128:2181
192.168.12.128192.168.12.128           

                    1.25服务端

<!-- ########## dubbo分布式服务配置(服务端) ############ -->
<!-- 配置当前应用名称 -->
<dubbo:application name="xxx-admin-service"/>

<!-- zookeeper注册中心 -->
<dubbo:registry protocol="zookeeper" address="192.168.12.128:2181"/>
<!-- 
配置暴露服务的协议 与 端口号
name : 指定协议名 dubbo
port : 指定端口号 20880
-->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 配置暴露服务 -->
<dubbo:service interface="com.xxx.admin.service.TestService" ref="testServiceImpl"/>

                   1.26客户端

<!-- ######### dubbo分布式配置(客户端) ########## -->
<!-- 配置当前应用名称-->
<dubbo:application name="xxx-admin-web"/>

<!-- zookeeper注册中心 -->
<dubbo:registry protocol="zookeeper" address="192.168.12.128:2181"/>


<!--引用服务配置 -->
<dubbo:reference interface="com.xxx.admin.service.TestService"id="testService" timeout="60000"/>


2只暴露服务(没有注册中心,直连方式):     

                   2.1.5服务端

                         <dubbo:registry address="N/A" /> 说明:N/A (Not Applicable) 不可用,也就是说注册中心不可能

                   2.1.6客户端

  <!-- ############# dubbo分布式服务配置(客户端) ############### -->
<!-- 配置当前应用名称 -->
<dubbo:application name="xxx-admin-web"/>
<!-- 配置引用服务(直连形式) -->
<dubbo:reference interface="com.xxx.admin.service.TestService"id="testService"  

timeout="60000" url="dubbo://127.0.0.1:20880"/>         

                    

dubbo命名空间

  1.<dubbo:application /> 配置当前应用名称name:指定应用名称

  2.<dubbo:registry /> 配置注册中心address:指定服务地址

  3.<dubbo:protocol /> 配置服务协议与端口:   

                 1.name : 指定协议名:  

                                      1.1dubbo  

                                              采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)

                                      1.2 rmi

                                                  可与原生RMI互操作,基于TCP协议 

                                                  RMI(即Remote Method Invoke 远程方法调用         

                                      1.3hessian     (可与原生Hessian互操作,基于HTTP协议 )

                                                Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据            

                      2.port : 指定端口号 20880               

  4.<dubbo:service /> 配置暴露服务:     

             1.registry 注册方式     2.interface 服务接口       3.ref 引用容器中存在的服务接口实现类

  5.<dubbo:reference /> 配置引用服务: (interface 服务接口)

             1.id 指定bean的id  2.timeout 设置连接超时最长时间,默认是3秒  3.url 设置直连时服务请求地址   url="dubbo://127.0.0.1:20880"

dubbo监控中心monitor

1.安装tomcat部署dubbo-admin-2.5.4.war

     1. 安装tomcat
    cd /usr/local
    mkdir web && cd web
    使用rz 上传apache-tomcat-7.0.76.tar.gz
    tar -zxvf apache-tomcat-7.0.76.tar.gz
2. 上传dubbo-admin监听应用
    #重命名
    mv apache-tomcat-7.0.76 tomcat-dubbo-monitor
    cd tomcat-dubbo-monitor/webapps
    rm -rf *
    mkdir ROOT && cd ROOT
    使用rz 上传dubbo-admin-2.5.4.war
    unzip dubbo-admin-2.5.4.war
    rm -f dubbo-admin-2.5.4.war

2.修改 WEB-INF/dubbo.properties属性文件

 1. 修改WEB-INF/dubbo.properties属性文件:
    cd  WEB-INF
    vim dubbo.properties
    dubbo.registry.address=zookeeper://127.0.0.1:2181
     说明:为注册中心的实际地址(若注册中心和监控中心在同一台机器则上述地址可以不用修改了)
2. 启动tomcat
  cd /usr/local/web/tomcat-dubbo-monitor/bin
   ./startup.sh
3. 访问应用
    http://192.168.12.128:8080
    用户名:root 密码:root  

      












































  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值