dubbo+zookeeper+springmvc搭建实例教程

本文提供了一步步搭建Dubbo服务提供者和消费者的过程,包括使用Zookeeper作为注册中心,集成SpringMVC进行远程服务调用。通过详细步骤,解释了从创建provider和consumer项目,到在SpringMVC中注入并调用远程接口的全过程,同时也列举了一些可能遇到的问题及解决方法。
摘要由CSDN通过智能技术生成

本篇是实例教程,分享搭建dubbo+zookeeper一些必经的坑
更多请查看Dubbo官方文档
本篇最终项目dubbo.demo下载

这里引用官方文档的一张图片,来简单说明各个节点的角色职责
流程

节点角色说明:

  • Provider: 暴露服务的服务提供方。
  • Consumer: 调用远程服务的服务消费方。
  • Registry: 服务注册与发现的注册中心。
  • Monitor: 统计服务的调用次调和调用时间的监控中心。
  • Container: 服务运行容器。

一、本篇概述

本篇分两个部分。
第一,搭建好provider和consumer后,使用Main方法阻塞来模拟,不涉及到SpringMVC。
第二,搭建后,使用SpringMVC进行注入调用远程服务接口。

二、准备工作

框架版本:

  • tomcat8,jdk7
  • dubbo-admin-2.4.1.war 这是dubbo管理war包,修改war直接扔到tomcat跑就可以了。
  • zookeeper-3.4.5 本实例使用zookeeper作为注册中心,其实还能使用其他的,这里不详细讲解。
2.1 搭建zookeeper(我这里是window环境)

请参考window7环境下ZooKeeper的安装及运行 单机搭建很简单。

2.2 部署dubbo-admin-2.4.1.war

直接放到tomcat的webapp文件夹下,运行tomcat。

  • 配置信息都在WEB-INF/dubbo.properties下,管理员账号密码都是root,zookeeper的地址等。

打开浏览器输入:http://localhost:8080/dubbo-admin-2.4.1
(运行前记得先打开zookeeper服务)
输入账号密码root,进入这个页面就算成功了。
这里写图片描述

三、创建提供者provider工程(使用maven构建)

dubbo.provider项目结构如下图:
项目构建

导入依赖,pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
             http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.soecode</groupId>
    <artifactId>dubbo.provider</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>dubbo.provider Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <dependencies>
        <!-- Logger日志 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>

        <!-- dubbo -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.4.10</version> 
        </dependency> 

        <!-- zookeeper -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.3.4</version>
        </dependency>

        <!-- zkclient 用于访问zookeeper -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.3</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>dubbo.provider</finalName>
    </build>
</project>

在service包下创建接口HelloService.java

package com.soecode.dubbo.service;

public interface HelloService {
   

    /**
     * say hello
     * @param name
     * @return
     */
    public String sayHello(String name);
}

在Service.impl下实现接口HelloServiceImpl.java

package com.soecode.dubbo.service.impl;

import org.springframework.stereotype.Service;

import com.soecode.dubbo.service.HelloService;

@Service("helloServiceImpl")
  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值