Dubbo框架的使用

如今很多项目规模逐步增加,同时也需要减轻服务器的压力,提高性能,很多项目都使用了分布式架构,实现分布式架构的方式有很多,这里就简要介绍一下使用Dubbo框架实现分布式,该框架是由阿里开发的,目前应用在很多项目中,既然是分布式,那就有主从或提供者消费者的概念...,下面就简要介绍一下其使用步骤;

一,引入dubbo相关的jar依赖;

使用dubbo框架,首先得引入对应的jar包依赖,推荐使用高版本,我这里使用2.5.3版本;

<!-- start: dubbo 相关依赖jar -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>dubbo</artifactId>
	<version>2.5.3</version>
</dependency>
<!-- end: dubbo 相关依赖jar -->

二,dubbo的provider和consumer端的建立;

dubbo, provider端简要建立步骤:
1,引入dubbo相关jar依赖;
2,相关model建立,这里须同customer端;
3,相关接口service建立,这里须同customer端,
有些把2,3两步抽离出来作为一个公共项目,以jar包提供其它项目使用;
4,相关接口的实现,完成具体的业务功能;

5,建立dubbo的配置XML,参考如下,并在spring配置文件中导入或在web.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: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://code.alibabatech.com/schema/dubbo 
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd">  
    
    <dubbo:application name="productServiceProvider" />  
      
    <!-- 使用广播注册中心暴露服务地址 -->
    <!-- 
    <dubbo:registry protocol="zookeeper" check="false" 
    address="127.0.0.1:6181,127.0.0.1:6182,127.0.0.1:6183"/>  
     -->
    
    <!-- 用dubbo协议在5018端口暴露服务 -->  
    <dubbo:protocol name="dubbo" port="5018" /> 
      
    <!-- 声明需要对外部暴露的服务接口 -->  
    <dubbo:service id="outProductService" interface="com.pro01.service.ProductService" ref="productService"/> 
    
    <!-- 实现服务Bean -->  
    <bean id="productService" class="com.pro01.service.impl.ProductServiceImpl"/>  
</beans> 

dubbo, consumer消费端简要建立步骤:
1,引入dubbo相关jar依赖;
2,相关model建立,这里须同provider端;
3,相关接口service建立,这里须同provider端,
有些把2,3两步抽离出来作为一个公共项目,以jar包提供其它项目使用;
4,建立dubbo的配置XML,参考如下,并在spring配置文件中导入或在web.xml使用;

5,以service形式在其它的service的实现类或controller中使用;

<?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: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://code.alibabatech.com/schema/dubbo            
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd">  
  
    <!-- 提供方应用信息,用于计算依赖关系 -->  
    <dubbo:application name="dubboServiceConsumer" />  
  
    <!-- 使用zookeeper注册中心暴露服务地址 -->  
    <!-- 
    <dubbo:registry protocol="zookeeper" check="false" 
    address="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"/> 
     -->
    
    <!-- 声明需要跟Provider端对外暴露的服务接口相同 -->  
    <dubbo:reference id="consumerService" interface="com.pro01.service.ProductService" 
     url="dubbo://127.0.0.1:5018/com.pro01.service.ProductService"/>     
</beans>

三,dubbo相关的项目启动;

首先启动provider服务端,其次在启用consumer消费端;如果使用相关的服务注册中心,那就无所谓了;

好了,大致就这些,难免可能遗留或不妥之处,欢迎拍砖...

猜你喜欢

转载自blog.csdn.net/shenzhenNBA/article/details/80345100