Dubbo的简单使用、Registry插件安装与使用、Assembly插件安装与使用

1. Dubbo框架的使用

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案及SOA服务治理方案
在这里插入图片描述
在这里插入图片描述

1.1 在远程Linux中安装zookeeper

zookeeper是一个分布式应用程序协调服务组件,在Dubbo中主要负责数据发布与订阅

  1. 安装JDK环境
  2. 上传zookeeper.tar.gz文件
  3. 解压文件
  4. 在解压的目录中新建data目录(存放数据)
  5. 复制解压目录中的conf目录下的zoo_sample.cfg为zoo.cfg
  6. 修改zoo.cfg中的dataDir属性值修改为创建的data目录的绝对路径
  7. 进入解压目录的bin目录下启动zookeeper(./zkServer.sh start)
  8. 放行zookeeper的端口(默认端口号为2181)
  9. 查看zookeeper状态(./zkServer.sh status Mode:standalone表示单机版)

1.2 配置式开发

  1. provider
    1.pom.xml中配置dubbo依赖(dubbo依赖及zookeeper的客户端依赖)
    <!--dubbo依赖-->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.5.7</version>
    </dependency>
    
    <!--zookeeper客户端依赖-->
    <dependency>
    	<groupId>com.101tec</groupId>
    	<artifactId>zkclient</artifactId>
    	<version>0.10</version>
    </dependency>
    
    2.spring配置文件创建(该文件必须放在resources/META-INF/spring/下)
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    			xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    			xsi:schemaLocation="http://www.springframework.org/schema/beans
    			http://www.springframework.org/schema/beans/spring-beans.xsd
    			http://code.alibabatech.com/schema/dubbo
    			http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    	<!--配置应用名称-->
    	<dubbo:application name="dubbo-provider"></dubbo:application>
    	<!--配置注册中心地址及端口-->
    	<dubbo:registry address="zookeeper://192.168.76.20:2181"></dubbo:registry>
    	<!--配置协议及端口-->
    	<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
    	<!--配置注册服务接口-->
    	<dubbo:service interface="com.bjsxt.service.IStarService" ref="starServiceImpl"></dubbo:service>
    	<!--配置注册服务接口的实现类bean-->
    	<bean id="starServiceImpl" class="com.bjsxt.service.impl.StarServiceImpl"></bean>
    </beans>
    
  2. consumer
    1.pom.xml中配置dubbo依赖(dubbo依赖及zookeeper的客户端依赖)
    <!--dubbo依赖-->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.5.7</version>
    </dependency>
    
    <!--zookeeper客户端依赖-->
    <dependency>
    	<groupId>com.101tec</groupId>
    	<artifactId>zkclient</artifactId>
    	<version>0.10</version>
    </dependency>
    
    2.复制provider的实体类及服务接口
    3.spring配置文件创建(该文件放在/resources)
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    			xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    			xsi:schemaLocation="http://www.springframework.org/schema/beans
    			http://www.springframework.org/schema/beans/spring-beans.xsd
    			http://code.alibabatech.com/schema/dubbo
    			http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    	<!--配置应用名称-->
        <dubbo:application name="dubbo-consumer"></dubbo:application>
        <!--配置注册中心地址及端口-->
        <dubbo:registry address="zookeeper://192.168.54.20:2181"></dubbo:registry>
        <!--配置注册服务接口-->
        <dubbo:reference interface="cn.khue.service.StarService" id="starService"></dubbo:reference>		
    </beans>
    
    4.远程调用服务
    //获取配置文件
    ApplicationContext ac=new ClassPathXmlApplicationContext("dubbo-consumer.xml");
    //获取远程服务bean
    StarService starService=ac.getBean("starService",StarService.class);
    //调用远程服务
    startService.showAllStar();
    

1.3 注解式开发

  1. provider
    1.pom.xml中配置dubbo依赖(dubbo依赖及zookeeper的客户端依赖)

    <!--dubbo依赖-->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.5.7</version>
    </dependency>
    
    <!--zookeeper客户端依赖-->
    <dependency>
    	<groupId>com.101tec</groupId>
    	<artifactId>zkclient</artifactId>
    	<version>0.10</version>
    </dependency>
    

    2.spring配置文件创建(该文件必须放在resources/META-INF/spring/下)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    			xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    			xsi:schemaLocation="http://www.springframework.org/schema/beans
    			http://www.springframework.org/schema/beans/spring-beans.xsd
    			http://code.alibabatech.com/schema/dubbo
    			http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    	<!--配置应用名称-->
    	<dubbo:application name="dubbo-provider"></dubbo:application>
    	<!--配置注册中心地址及端口-->
    	<dubbo:registry address="zookeeper://192.168.76.20:2181"></dubbo:registry>
    	<!--配置协议及端口-->
    	<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
    	<!--配置注册服务接口的实现类的注解扫描-->
    	<dubbo:annotation package="com.bjsxt.service.impl"></dubbo:annotation>
    </beans>
    
  2. consumer
    1.pom.xml中配置dubbo依赖(dubbo依赖及zookeeper的客户端依赖)

    <!--dubbo依赖-->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.5.7</version>
    </dependency>
    
    <!--zookeeper客户端依赖-->
    <dependency>
    	<groupId>com.101tec</groupId>
    	<artifactId>zkclient</artifactId>
    	<version>0.10</version>
    </dependency>
    

    2.复制provider的实体类及服务接口
    3.创建自己的服务接口及其实现类

    @Service
    public class StarServiceImpl implements ConsumerStarService {
        @Reference
        private StarService starService;
        @Override
        public List<Star> showAllStar() {
          return starService.showAllStar();
        }
    }
    

    4.spring配置文件创建(该文件放在/resources)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    			xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    			xsi:schemaLocation="http://www.springframework.org/schema/beans
    			http://www.springframework.org/schema/beans/spring-beans.xsd
    			http://code.alibabatech.com/schema/dubbo
    			http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    	<!--配置应用名称-->
        <dubbo:application name="dubbo-consumer"></dubbo:application>
        <!--配置注册中心地址及端口-->
        <dubbo:registry address="zookeeper://192.168.54.20:2181"></dubbo:registry>
        <!--配置注册服务接口的实现类的注解扫描-->
    	<dubbo:annotation package="com.bjsxt.service.impl"></dubbo:annotation>
    	<!--配置注册服务接口的实现类bean-->
    	<bean id="starConsumerServiceImpl" class="com.bjsxt.service.impl.StarConsumerServiceImpl"></bean>		
    </beans>
    

    5.远程调用服务

    //获取配置文件
    ApplicationContext ac=new ClassPathXmlApplicationContext("dubbo-consumer.xml");
    //获取远程服务bean
    ConsumerStarService starService=ac.getBean("starService",ConsumerStarService.class);
    //调用远程服务
    startService.showAllStar();
    

    2. Registry可视化管理插件的安装步骤

    1. 复制dubbo-admin-2.5.10.war到tomcat的webapps目录下
    2. 启动tomcat(tomgcat将解压war包),然后再关闭
    3. 修改解压后的war包目录下的WEB-INF/dubbo.properties文件,将dubbo.registry.address修改为自己的zookeeper的地址及端口号(也可修改用户及密码信息)
    4. 再次启动tomcat,访问解压后的war包名即可

    3. Assembly打包插件的安装步骤

    1. 在provider的maven项目的pom.xml文件中添加assembly插件
    2. 在provider的项目根目录下创建assembly目录
    3. 解压asemmbly目录中的压缩包,将bin及conf目录拷贝至新建的文件夹中,并将conf中的dubbo.properties文件清空
    4. 在assembly目录下新建assembly.xml,并添加如下内容
    5. 执行maven的packaging命令即可在target目录下生成对应的包文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值