Dubbo+Zookeeper+Spring MVC+JDK8整合应用

软件版本说明:dubbo-admin-2.5.4.war,zookeeper-3.4.9.tar.gz,dubbo-2.8.4,jdk8,apache-tomcat-7.0.68


一. zookeeper安装


  下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载后解压即可,解压zookeeper-3.4.9.tar.gz到指定目录,进入zookeeper-3.4.9\conf目录并复制zoo_sample.cfg文件改名为zoo.cfg,因为zookeeper启动时默认找zoo.cfg这个文件,zoo.cfg文件内容如下:
   
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

•tickTime:这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
•dataDir:顾名思义就是 Zookeeper保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
•dataLogDir:顾名思义就是Zookeeper 保存日志文件的目录

•clientPort:这个端口就是客户端连接Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求


接着启动zookeeper注册中心服务。
linux下执行命令:bin/zkServer.sh start ;windows下直接双击zkServer.cmd就可以启动服务了。


zookeeper客户端工具推荐ZooInspector下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip,解压缩后双击ZooInspector\build\zookeeper-dev-ZooInspector.jar,连接zookeeper服务,就可以看到已经向zookeeper注册的服务


二. 接口服务


     新建一个单独的服务接口工程,定义一个服务接口类DemoService,服务提供方和消费方公用。

package com.dubbo.service;

public interface  DemoService {

 public	String sayHello(String name);
	  
}


三. 提供者服务


    新建一个服务提供工程,定义一个DemoService接口的实现类DemoServiceImpl,即远程请求的服务类。

package com.dubbo.api.service;

import com.dubbo.service.DemoService;


public class DemoServiceImpl implements DemoService {  
	 
    public String sayHello(String name) {  
        return "Hello " + name;  
    }  
}

spring mvc配置暴露服务



		
	
	  
		
	

	
		
			
				application/json;charset=UTF-8
			
		
	
	
	
		
			
					
			
		
	
	
	
		
		
		
	
    
	
      
        
        
        
    
	  
        
       
	
	
	
	
	  
     



四. 消费者服务


      新建一个消费者服务工程,新建一个测试类SayHelloController

package com.dubbo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.dubbo.service.DemoService;


@Controller
public class SayHelloController {
	
	@Autowired
	private DemoService demoService;
	
	@RequestMapping(value = "/test")
	@ResponseBody
	public String sayHello(String name){
		StringBuffer sb = new StringBuffer("Dubbo: ");
		sb.append(demoService.sayHello(name));
		return sb.toString();
	}
	
}


暴露的dubbo服务配置dubbo-config.xml




	
	

	
	

	
	
	  

	
	



启动服务,在浏览器中输入请求的url:http://localhost:8080/springmvc-dubbo-test/test?name=666666

测试结果:666666


五. Dubbo的管理页


     1. dubbo-admin-2.5.4下载地址:http://download.csdn.net/detail/dfdsggdgg/9724631

     2. 解压dubbo-admin-2.5.4.war,将dubbo-admin-2.5.4下的文件替换到tomcat/webapps/ROOT文件夹下(即替换tomcat的启动主页)

     3. 编辑webapps\ROOT\WEB-INF下的dubbo.properties文件  

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=123456
dubbo.registry.address配置zookerper的连接地址,
dubbo.admin.root.password就是登陆的密码

 4. dubbo管理登录:http://127.0.0.1:28080/,这里设置tomcat的端口号为28080

dubbo中的服务

Dubbo+Zookeeper+Spring MVC+JDK8整合应用_第1张图片

提供者

Dubbo+Zookeeper+Spring MVC+JDK8整合应用_第2张图片

消费者


整合代码及安装包下载:http://download.csdn.net/detail/dfdsggdgg/9724676


你可能感兴趣的:(java)