dubbo的简单使用

    xiaoxiao2022-07-12  189

    1、使用dubbo需要先安装zookeeper,使用zookeeper作为dubbo的注册中心。

    2、搭建的项目,一共有五个项目,使用maven来管理该项目信息。

    3、搭建父工程,导入相应的jar包,导入ssm的jar包。

    4、搭建pojo项目,然后根据数据库字段设计相应的实体信息。然后maven install到本地仓库。

    5、搭建dubbo-provider-service生产者的接口项目,在pom.xml文件里面加入pojo的jar包。里面只负责写接口,不需要导入其他包。然后maven install到本地仓库。

    5、搭建dubbo-provider-service-impl生产者的提供具体服务的项目,需要继承dubbo-provider-service里面的接口,然后实现相应的接口,该项目和我们常规项目差不多。需要导入ssm项目的jar包,然后导入dubbo-provider-service的jar包。

    <dependency>             <groupId>com.yu</groupId>             <artifactId>dubbo-provider-service</artifactId>             <version>0.0.1-SNAPSHOT</version>    </dependency>

    <!-- dubbo的jar -->

    <dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>dubbo</artifactId>

    <version>2.5.3</version>

    <exclusions>

    <exclusion>

    <artifactId>spring</artifactId>

    <groupId>org.springframework</groupId>

    </exclusion>

    </exclusions>

    </dependency>

    <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-webmvc</artifactId>

    <version>4.1.6.RELEASE</version>

    </dependency>

    <!-- 访问zookeeper的客户端jar -->

    <dependency>

    <groupId>com.101tec</groupId>

    <artifactId>zkclient</artifactId>

    <version>0.10</version>

    </dependency>

              5.1:访问数据库,需要添加数据库的信息,加入spring的配置文件和dubbo的配置文件,spring的配置文件用来扫描注解信息,事务控制等作用。dubbo的配置文件用来配置duboo的基本信息。如果使用dubbo的启动类来启动项目,必须把dubbo的配置文件放在类路径下/META-INF/spring/*.xml下。为了让spring的配置文件一起使用,也可以把该文件放在此目录下,或者在dubbo的配置文件中导入该配置文件。

    dubbo配置文件详解:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:context="http://www.springframework.org/schema/context"     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"     xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/context          http://www.springframework.org/schema/context/spring-context.xsd         http://code.alibabatech.com/schema/dubbo          http://code.alibabatech.com/schema/dubbo/dubbo.xsd">     <!-- 给dubbo的提供者命名  在monitor或管理工具中区别是哪个provider-->     <dubbo:application name="menuProvider"/>     <!-- 配置zookeeper注册中心 address:注册中心的ip和端口  protocol使用哪种注册中心-->     <dubbo:registry address="129.204.6.53:2181,129.204.6.53:2182,129.204.6.53:2183" protocol="zookeeper"/>      <!-- 配置协议与端口 -->     <dubbo:protocol name="dubbo" port="20881"/>     <!-- 注册功能 -->     <dubbo:service interface="com.yu.provider.service.ProductService" ref="productServiceImpl"></dubbo:service>     <bean id="productServiceImpl" class="com.yu.provider.service.impl.ProductServiceImpl"/>     <!-- 引入spring的配置信息 -->     <import resource="../../applicationContext-spring.xml"/> </beans>

        5.2、写启动类来启动dubbo-provider-service-impl项目。

    public class ProviderStart {

        public static void main(String[] args) {         Main.main(args);     } }

    6、admin界面管理,获取注册中心的消费者和生产者,通过web界面的方式呈现出来。

          6.1、dubbo-admin-2.5.3.war上传到服务器tomcat中,启动tomcat解压这个这个war包。然后删除对应的war包。

          6.2、dubbo-admin-2.5.3/WEB-INF/dubbo.properties,修改第一行为zookeeper的ip和端口,第二行和第三行为管理界面的用户名和密码

        6.3、启动tomcat,然后访问dubbo系统。

    7、dubbo-consumer的创建,消费者一般是web项目。消费者负责调用生产者提供的服务,不需要访问数据库,只需要把数据展示给页面就可以啦!

        7.1、搭建好项目之后,导入项目的jar包。除了spring的之后还有dubbo的包,pojo的包,生产者的jar包,zookeeper的包。

        7.2、项目启动之后,为了能访问到dubbo里面的配置信息,需要在web.xml中修改<init-value>applicationContext-*.xml,然后spring的配置文件和dubbo的配置文件相应以-*.xml结尾。

        7.3、dubbo的配置文件:applicationContext-dubbo.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:context="http://www.springframework.org/schema/context"     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"     xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/context          http://www.springframework.org/schema/context/spring-context.xsd         http://code.alibabatech.com/schema/dubbo          http://code.alibabatech.com/schema/dubbo/dubbo.xsd">     <!-- 给dubbo的提供者命名 -->     <dubbo:application name="menuConsumer"/>     <!-- 配置zookeeper注册中心 -->     <dubbo:registry address="129.204.6.53:2181,129.204.6.53:2182,129.204.6.53:2183" protocol="zookeeper"/>     <!-- 配置注解扫描  扫描的是dubbo提供的注解    @Reference-->     <dubbo:annotation package="com.yu.consumer.service.impl"/> </beans>

         7.4、不需要开发mapper,只需要开发service,然后调用生产者提供的服务,然后在controller里面渲染对应的数据。

    @Service public class ProductConsumerServiceImpl implements ProductConsumerService{

             /**      * 服务提供者   @Reference dubbo提供的注解      */     @Reference     private ProductService productService;          @Override     public ProductModel findById(String pid) {                  return productService.findById(pid);     }

    }

          7.5、另外还需要spring的配置文件用来扫描注解@service,需要springMVC的配置文件。然后启动项目。启动项目之前先启动生产者,在admin界面查询服务信息,然后在启动消费者。注意:配置注解扫描的时候,service扫描service层,具体到每一层,不要扫描的包的外面,dubbo的扫描和spring的扫码不兼容,会报错。

     

    最新回复(0)