Dubbox入门服务提供方消费方小Demo

简介

分布式框架,本身就是用阿里解决SOA的问题的,前期是阿里巴巴的项目,后来和SHF有冲突,就不再维护了,当当网就把这个捡起来了,进行继续维护,所以加了最后的x字符。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vvfSy7Xc-1574776490241)(../images/节点图.png)]

Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。

暴露服务的服务提供方(Demo)
  1. 创建Maven工程(WAR), 在pom.xml中引入依赖(Spring框架等,要引入Tomcat,因为分布式本地项目要设置不同的端口,真实的就放在不同的ip)
  2. 在webapps下创建WEB-INF文件夹,创建web.xml
  3. 创建业务接口
  4. 创建业务实现类

    注意:Service注解要用com.alibaba包下的(分布式)

  5. 编写配置文件(src/main/resources下创建applicationContext-service.xml)
    <dubbo:application name="dubboxdemo-service"/>  
    <dubbo:registry address="zookeeper://192.168.25.132:2181"/> 这里是本机虚拟机linux的ip
    <dubbo:annotation   package="cn.itcast.dubboxdemo.service" /> 
    
  6. 测试运行(tomcat7:run)
调用远程服务的服务消费方(Demo)
  1. 创建Maven工程(WAR)dubboxdemo-web,在pom.xml引入依赖,同提供方。区别就是把tomcat插件的运行端口改为8082
  2. 在webapps目录下创建WEB-INF目录,并创建web.xml
  3. 拷贝业务接口,将服务提供方的service接口包都拷贝过来
  4. 编写Controller
  5. 编写Spring配置文件
    1. 在src/main/resources下创建applicationContext-web.xml
  6. 测试运行
  7. 浏览器输入http://localhost:8082/user/showName.do
统计服务的调用次调和调用时间的监控中心
  • 管理中心的部署
    我们在开发时,需要知道注册中心都注册了哪些服务,以便我们开发和测试。我们可以通过部署一个管理中心来实现。其实管理中心就是一个web应用,部署到tomcat即可。
    1. 编译源码,得到war包
    2. 解压dubbox-master.zip进入dubbo-admin目录,输入maven命令
    3. mvn package -Dmaven.skip.test=true
    4. target文件夹里会有一个war包,在linux服务器上安装tomcat,将该包上传到linux服务器的tomcat的webapps下即可。

    如果部署在zookeeper同一台主机并且端口是默认的2181,则无需修改任何配置。如果不是在一台主机上或端口被修改,需要修改WEB-INF下的dubbo.properties ,修改如下配置:dubbo.registry.address=zookeeper://127.0.0.1:2181

  • 管理端使用
    1. 打开浏览器,输入http://192.168.25.132:8080/dubbo-admin/ ,登录用户名和密码均为root 进入首页。 (192.168.25.132:)是我部署的linux主机地址。
    2. 启动服务提供者工程,即可在服务治理-提供者查看到该服务
服务运行容器
服务注册与发现的注册中心(Dubbo Registry)
  • 服务开启的时候服务的提供方把地址登记在注册中心
  • 起一个服务,就在注册中心挂一个,(哪个地址对应哪个服务)
  • 服务的消费方起来了,要订阅地址,能把注册中心的地址拿过来,调用哪个功能就可以对照了
  • Dubbo Monitor(监控中心)可以监控到哪些服务的提供方和调用方,哪个有问题也可以获知

注册中心其实是一个软件,官方推荐的软件是Zookeeper,是Apache Hadoop的子项目,树型的目录服务
(要安装在Linux系统上)


安装Dubbox(简略流程)

操作环境:linux

  1. 安装jdk
  2. 把zookeeper压缩包上传到linux系统(secureCRT)
    1. secureCRT连接地址看linux(控制台 -> ifconfig))
    2. 进入sftp,输入put 文件路径 回车上传
    3. 解压 tar -zxvf zookeeper-3.4.6.tar.gz
    4. 进入zookeeper-3.4.6目录,创建data文件夹 mkdir data
    5. 进入conf目录,把zoo_sample.cfg改名为zoo.cfg mv zoo_sample.cfg zoo.cfg
    6. 打开zoo.cfg,修改data属性dataDir=/root/zookeeper-3.4.6/data
  3. 启动服务(进入bin目录)
    1. 启动 ./zkServer.sh start
    2. 关闭 ./zkServer.sh stop
    3. 查看状态 ./zkServer.sh status
  4. Dubbox本地Jar包部署和安装
    因为maven里没有新版本的这个,所以要弄到本地仓库里
    先将dubbo-2.8.4.jar包放到‘存放目录’, 然后输入命令
    mvn install:install-file -Dfile=存放目录 -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar
  5. 配置离线约束

    Eclipse配置Dubbox离线约束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值