dubbo的认识、安装、用法

一、认识

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

二、register安装

(1)下载vmware、下载CentOS-6.4-x86_64-bin-DVD1.iso镜像文件
(2)下载zookeeper-3.4.6.tar.gz(用zookeeper作为dubbo的register)
(3)zookeeper安装步骤:
第一步:安装jdk:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html
如果遇到错误bash: /usr/java/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory就看下面链接:
https://blog.csdn.net/leonard_kongtanhuo/article/details/79128097
第二步:安装zookeeper:
root@localhost zookeeper]# tar -zxf zookeeper-3.4.6.tar.gz
root@localhost zookeeper-3.4.6]# mkdir data
[root@master zookeeper-3.4.6]# mv conf/zoo_sample.cfg conf/zoo.cfg
[root@localhost conf]# vi zoo.cfg
修改dataDir=/usr/zookeeper/zookeeper-3.4.6/data就好了
[root@localhost bin]# ./zkServer.sh start
[root@localhost bin]# ./zkServer.sh status
关闭防火墙/etc/init.d/iptables stop临时关闭防火墙

三、附带知识

(1)常见linux命令:

  • ll (列文件)
  • su root (root模式)
  • tar zxvf 文件名 (解压缩)
  • mv 文件旧路径 文件新路径 (移动、重命名)
  • vi 文件 (编辑文件)
  • 编辑文件的时候:i(插入编辑);wq(保存并退出);q! (放弃所作修改而直接退到shell下。)
  • mkdir (创建文件夹)
  • /etc/init.d/iptables status查看防火墙的状态
  • /etc/init.d/iptables stop临时关闭防火墙
  • chkconfig iptables off 永久关闭防火墙

四、如何使用register

(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"/>

运行完项目之后去zookeeper服务器看一下有没有把服务暴露成功:
进入/zookeeper安装地址/bin
[root@localhost bin]# ./zkCli.sh -server 192.168.25.167:2181
然后会看到welcome to zookeeper等一堆字
然后输入ls /dubbo
然后会看到[com.service.ItemCatService]

(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;
}

五、monitor使用

1、在centos里面下载apache-tomcat-7.0.47.tar.gz
[root@localhost tomcat]# tar zxf apache-tomcat-7.0.47.tar.gz
2、下载dubbo-admin-2.5.4.war放到tomcat的webapp文件下面重新命名为dubbo-admin.war
[root@localhost tomcat]# mv /home/register/dubbo-admin-2.5.4.war apache-tomcat-7.0.47/webapps/dubbo-admin.war
3、开启tomcat
[root@localhost apache-tomcat-7.0.47]# bin/startup.sh
查看日志
tail -f logs/catalina.out
4、访问dubbo-admin页面
http://192.168.50.129:8080/dubbo-admin/
账号密码都是root

六、总结

以上,就把dubbo的5个角色就都介绍好啦
provider-----server工程
consumer------controller工程
register-------zookeeper
monitor------dubbo-admin
container-----centos

猜你喜欢

转载自blog.csdn.net/ranandrun/article/details/82933149