zookeeper+dubbo 安装使用

一、zookeeper安装使用
1、zookeeper下载解压
wget http://www.apache.org/dist/zookeeper/stable/zookeeper-3.4.8.tar.gz (下载安装包)
tar zxvf zookeeper-3.4.6.tar.gz (解压安装包)
2、配置
cp zoo_sample.cfg zoo.cfg
在对应的zookeeper-3.4.6/conf 下有一个zoo_sample.cfg,复制一份重命名为zoo.cfg,Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件。
说明:
 clientPort:监听客户端连接的端口。
 tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
dataDir:即数据存放的路径
3、启动
zookeeper-3.4.6/bin/zkServer.sh start
 
二、dubbo管理控制台安装及监控中心安装
1、管理控制台安装

 

(1)下载dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然后进行解压:jar -xvf dubbo-admin-2.4.1.war

 (2)然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注册中心,如图所示:

dubbo.registry.address=zookeeper://192.168.187.132:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

   (3)然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功。(注意:需要先启动zookeeper,否则tomcat无法访问)

 
2.简易监控中心安装

 
三、服务提供者注册与消费者订阅
 
创建三个JAVA项目分别命名为:
study-user-api(接口功能)
study-user-provider(服务提供者)
study-user-consumer(服务消费者)
 
1、study-user-api项目介绍
(1)仅提供一个普通的接口类即可,给到服务消费者调用,同时让服务提供者去实现。
package com.zhangzhi.study;
public interface UserService {
    public String getName();
}
2、study-user-provider项目介绍
(1)提供接口实现类
package com.zhangzhi.study.service;
import org.springframework.stereotype.Service;
import com.zhangzhi.study.UserService;
@Service("userService")
public class UserServiceImpl implements UserService {
    public String getName() {
        return "ZHANG ZHI";
    }
}
(2)spring-dubbo.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>  
    xsi:schemaLocation="  
    <context:component-scan base-package="com.zhangzhi" /> 
    <dubbo:application name="study-user-service" />
    <dubbo:registry  protocol="zookeeper" address="192.168.187.132:2181"  />  
    <dubbo:protocol name="dubbo" port="20880" />       
    <dubbo:service interface="com.zhangzhi.study.UserService" ref="userService" />
  </beans>
 
(3)用于启动服务的测试文件(实例工作中会使用maven打成可执行的jar包,使用dubbo提供的Main类做为入口类)
import java.io.IOException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)  //使用junit4进行测试  
@ContextConfiguration({"/spring/*.xml"}) //加载配置文件 
public class TestUserService {
    @Test
    public void startUserService() throws IOException{
        System.out.println("按任意键退出");  
        System.in.read(); 
    }
}
 
(4)pom.xml依赖配置
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zhangzhi.study</groupId>
  <artifactId>study-user-service</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build/>
 
 <properties>
     <spring.version>4.2.5.RELEASE</spring.version>
 </properties>
 
  <dependencies>
 
       <dependency>
            <groupId>com.zhangzhi.study</groupId>
          <artifactId>study-user-api</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
 
      <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
            <scope>test</scope>  
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
 
  </dependencies>
</project>
 
3、study-user-consumer项目介绍
(1)消费测试类
import java.util.Date;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.zhangzhi.study.UserService;
 
@RunWith(SpringJUnit4ClassRunner.class)  //使用junit4进行测试  
@ContextConfiguration({"/spring/*.xml"}) //加载配置文件 
public class TestUserService {
    @Autowired
    private UserService userService;
    @Test
    public void testGetName(){
        System.out.println(userService.getName());
    }
}
 
(2)spring-dubbo.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>  
    xsi:schemaLocation="  
    <context:component-scan base-package="com.zhangzhi" /> 
    <dubbo:application name="dubbo_consumer"></dubbo:application>  
   <dubbo:registry address="zookeeper://192.168.187.132:2181" check="false"></dubbo:registry>   
     <!-- 要引用的服务 -->    
   <dubbo:reference interface="com.zhangzhi.study.UserService" id="userService"></dubbo:reference>  
  </beans>
 
(3)pom.xml文件配置
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zhangzhi.study</groupId>
  <artifactId>study-user-consumer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build/>
 
  <properties>
     <spring.version>4.2.5.RELEASE</spring.version>
 </properties>
 
  <dependencies>
 
       <dependency>
            <groupId>com.zhangzhi.study</groupId>
          <artifactId>study-user-api</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
 
      <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
 
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
            <scope>test</scope>  
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
  </dependencies>
</project>
 
4、运行测试
(1)先启动zookeeper服务器; 
(2)再启动服务提供者,即运行study-user-provider项目中的TestUserService;
(3)执行服务消费者,即运行study-user-consumer项目中的TestUserService,如果能顺利打印实现类中的结果,表示搭建成功。

 

转载于:https://www.cnblogs.com/zhangzhi0556/articles/5370361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值