一、认识
(1)Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。
dubbo的认识和用法
(2)架构:
dubbo的认识和用法
dubbo的认识和用法
dubbo的认识和用法

二、使用准备
(1)下载vmware、下载CentOS6.4镜像文件
(2)下载zookeeper-3.4.6.tar.gz(用zookeeper作为dubbo的register)
(3)zookeeper安装步骤:

dubbo的认识和用法
三、附带知识
(1)常见linux命令:

  • ll (列文件)
  • su root (root模式)
  • tar zxvf 文件名 (解压缩)
  • mv 文件旧路径 文件新路径 (移动、重命名)
  • vi 文件 (编辑文件)
  • 编辑文件的时候:i(插入编辑);wq(保存并退出);q! (放弃所作修改而直接退到shell下。)
  • mkdir (创建文件夹)

四、如何使用dubbo
(1)开启zookeeper
(2)提供服务的项目和调用服务的项目导入关于dubbo的包

<!-- dubbo相关的jar包 -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>dubbo</artifactId>
	<exclusions>
		<exclusion>
			<artifactId>spring</artifactId>
			<groupId>org.springframework</groupId>
		</exclusion>
		<exclusion>
			<artifactId>netty</artifactId>
			<groupId>org.jboss.netty</groupId>
		</exclusion>
	</exclusions>
</dependency>
<dependency>
	<groupId>org.apache.zookeeper</groupId>
	<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
	<groupId>com.github.sgroschupf</groupId>
	<artifactId>zkclient</artifactId>
</dependency>

(3)提供服务的项目的配置文件写法(applicationContext-service.xml):

<?xml version="1.0" encoding="UTF-8"?>
<beans   。。。省略其他。。。
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
	xsi:schemaLocation=" 。。。省略其他。。。
	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
	
	<!-- 配置包扫描器,扫描所有带@Service注解的类 -->
	<context:component-scan base-package="com.service"/>
	 <!-- 发布dubbo服务 -->
	<!-- 提供方应用信息,用于计算依赖关系 -->
	<dubbo:application name="要提供服务的项目名字" />
	<!-- 注册中心的地址 -->
	<dubbo:registry protocol="zookeeper" address="192.168.25.167:2181" />
	<!-- 用dubbo协议在20880端口暴露服务 -->
	<dubbo:protocol name="dubbo" port="20880" />
	<!-- 声明需要暴露的服务接口 -->
	<dubbo:service interface="com.service.ItemService" ref="itemServiceImpl" timeout="300000"/>
	<dubbo:service interface="com.service.ItemCatService" ref="itemCatServiceImpl" timeout="300000"/>

(4)需要调用服务的项目的配置文件写法(springmvc.xml):

<beans   。。。省略其他。。。
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
	xsi:schemaLocation=" 。。。省略其他。。。
	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
	
	<!-- 配置注解驱动 -->
	<mvc:annotation-driven />
	<!-- 视图解析器 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
	<!-- 配置包扫描器,扫描@Controller注解的类 -->
	<context:component-scan base-package="com.controller"/>
	<!-- 引用dubbo服务-->
	<dubbo:application name="要调用服务的项目名字"/>
	<dubbo:registry protocol="zookeeper" address="192.168.25.167:2181"/>	
	<dubbo:reference interface="com.service.ItemService" id="itemService" />
	<dubbo:reference interface="com.service.ItemCatService" id="itemCatService" />

(5)要调用服务的项目的controller写法:

@Autowired
private ItemService itemService;

@RequestMapping("/item/{itemId}")
@ResponseBody
public TbItem getItemById(@PathVariable Long itemId) {
	TbItem tbItem = itemService.getItemById(itemId);
	return tbItem;
}

相关文章:

  • 2022-12-23
  • 2021-05-27
  • 2021-10-02
  • 2021-06-03
  • 2021-10-04
  • 2021-10-11
  • 2021-09-01
  • 2022-12-23
猜你喜欢
  • 2021-05-24
  • 2021-07-01
  • 2021-12-27
  • 2021-06-01
  • 2021-05-18
  • 2022-12-23
  • 2021-12-16
相关资源
相似解决方案