Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门

目录

1、说明

2、api代码

3、provider代码

4、consumer代码

5、测试

6、Dubbo管理控制台

7、备注


1、说明

新建一个project,添加三个module,结构如下:

api是接口,concumer是消费者,provider是提供者。

Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门_第1张图片

2、api代码

  • 新建一个接口,并把api打包到consumer、provider。
  • consumer、provider分别把api.jar添加到Libraries。

service.HelloService

package service;

public interface HelloService {
    public void hello();
}

 pom.xml

    dubbo.api
    api
    1.0-SNAPSHOT
    jar

3、provider代码

pom.xml

 
            org.springframework
            spring-context
            5.2.8.RELEASE
        
        
            org.springframework
            spring-web
            5.2.8.RELEASE
        
        
            org.apache.dubbo
            dubbo
            2.7.9
        
        
            org.apache.curator
            curator-framework
            5.0.0
        
        
            org.apache.curator
            curator-recipes
            5.0.0
        
        
            dubbo.api
            api
            1.0-SNAPSHOT
        

web.xml

    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

applicationContext.xml 

    
    

provider.xml




    
    
    
    

impl.HelloServiceImpl

package impl;

import org.apache.dubbo.config.annotation.DubboService;
import service.HelloService;

@DubboService
public class HelloServiceImpl implements HelloService {
    @Override
    public void hello() {
        System.out.println("provider startup......");
    }
}

4、consumer代码

pom.xml  比provider的pom.xml多引入了spring-webmvc

        
            org.springframework
            spring-webmvc
            5.2.8.RELEASE
        

web.xml

    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        DispatcherServlet
        /
    

spring-mvc.xml

   
   

consumer.xml



    
    
    
    

controller.HelloController

package controller;

import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import service.HelloService;

@Controller
public class HelloController {

    @DubboReference
    private HelloService helloService;

    @RequestMapping("/hello")
    @ResponseBody
    public String Hello(){
        System.out.println("consumer startup......");
        helloService.hello();
        return "success!";
    }
}

5、测试

启动两个Tomcat,两个HTTP port 不能一样,两个JMX port不能一样。

消费者访问提供者:http://localhost:8086/hello,端口号自定义。

Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门_第2张图片

6、Dubbo管理控制台

Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门_第3张图片

Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门_第4张图片

Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门_第5张图片

 

启动顺序:Zookeeper服务端 > Dubbo-admin > provider > consumer,以免端口被占用。

Zookeeper安装过程

Dubbo-admin部署过程:

  • 下载dubbo-admin-2.6.0.war,本链接下载的rar文件解压一下
  • 把文件复制到Tomcat的webapps下,启动tomcat,访问:http://localhost:8089/dubbo-admin-2.6.0,端口默认8080。

7、备注

Dubbo 支持 zkclient 和 curator 两种 Zookeeper 客户端实现:

注意:在2.7.x的版本中已经移除了zkclient的实现,如果要使用zkclient客户端,需要自行拓展


    2.7.8
    2.12.0



    org.apache.curator
    curator-framework
    ${zookeeper.version}


    org.apache.curator
    curator-recipes
    ${zookeeper.version}

 

你可能感兴趣的:(Idea2020.3.3+Zookeeper3.6.3+Dubbo2.7.9 快速入门)