前提:
安装好 vmware12 虚拟机,在虚拟机中安装好centos7系统, 修改 NET 模式的子网。
一、首先下载 zookeeper-3.4.6.tar.gz 包
二、上传到centos7中的 /root/soft/ (soft目录,统一管理)
三、解压tar包到指定目录
tar -zxvf /root/soft/zookeeper-3.4.6.tar.gz -C /usr/local/
四、在 zookeeper 的安装目录 ,目录下复制一份zoo_sample.cfg配置文件,改名为 zoo.cfg
cp /usr/local/zookeeper-3.4.6/conf/zoo_sample.cfg zoo.cfg
五、在zookeeper工作目录( /usr/local/zookeeper-3.4.6/),新建data文件夹
mkdir data
六、修改 zookeeper 安装目录/conf/zoo.cfg 文件:
dataDir= /usr/local/zookeeper-3.4.6/data
七、zookeeper 的启动、状态、停止
进入zookeeper的bin目录下:cd /usr/local/zookeeper-3.4.6/bin/
./zkServer.sh start //启动
./zkServer.sh status //查看状态
./zkServer.sh stop //关闭
第一个dubbox 程序
一、首先在pom文件中添加相关依赖
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 <dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>dubbo</artifactId> 4 <version>2.8.4</version> 5 </dependency> 6 <dependency> 7 <groupId>org.apache.zookeeper</groupId> 8 <artifactId>zookeeper</artifactId> 9 <version>3.4.7</version> 10 </dependency> 11 <dependency> 12 <groupId>com.github.sgroschupf</groupId> 13 <artifactId>zkclient</artifactId> 14 <version>0.1</version> 15 </dependency>
二、在application-service.xml中
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 <!--将要放入zookeeper服务中心的服务名称(模块)--> 2 <dubbo:application name="pyg_sellergoods_service" /> 3 <!-- 配置服务所在位置(包名) --> 4 <dubbo:annotation package="cn.chao.pyg.sellergoods.service.impl" /> 5 <!--加载dubbo配置,下面的端口代表发布在zookeeper注册中心中的服务占有的端口号, 6 默认为20880,如果有多个服务,则不能重复--> 7 <dubbo:protocol port="20881" name="dubbo" /> 8 <!--2.zookeeper服务注册的地址--> 9 <dubbo:registry address="zookeeper://192.168.25.128:2181"/>
三、在application-web.xml
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:mvc="http://www.springframework.org/schema/mvc" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans.xsd 8 http://www.springframework.org/schema/mvc 9 http://www.springframework.org/schema/mvc/spring-mvc.xsd 10 http://code.alibabatech.com/schema/dubbo 11 http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 12 13 <mvc:annotation-driven> 14 <!--使用fastjson进行java对象与json字符串的互相转换--> 15 <mvc:message-converters register-defaults="true"> 16 <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> 17 <property name="supportedMediaTypes" value="application/json"/> 18 <property name="features"> 19 <array> 20 <value>WriteMapNullValue</value> 21 <value>WriteDateUseDateFormat</value> 22 </array> 23 </property> 24 </bean> 25 </mvc:message-converters> 26 </mvc:annotation-driven> 27 28 <!--指定模块名称--> 29 <dubbo:application name="pyg_manager_web" /> 30 <!-- 指定谁去服务中心获取service--> 31 <dubbo:annotation package="cn.chao.pyg.manager.controller"/> 32 <!--zookeper服务中心的地址--> 33 <dubbo:registry address="zookeeper://192.168.25.128:2181"/> 34 </beans>
四、在service模块、controller模块中的注解
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 service模块中 2 /** 3 * 注入到spring容器中 4 * 注意:这里必须是dubbo的service注解 5 * import com.alibaba.dubbo.config.annotation.Service; 6 */ 7 @Resource 8 private TbBrandMapper tbBrandMapper; 9 10 11 controller模块中 12 /** 13 * 从zookeeper中拿到的service 14 * Reference注解是dubbo包中的 15 * 注意:import com.alibaba.dubbo.config.annotation.Reference; 16 */ 17 @Reference 18 private IBrandService iBrandService;