Springmvc整合dubbo+zookeeper,实现分布式系统之间的服务远程调用(即RPC服务)

本文介绍了基于Zookeeper和Dubbo实现RPC服务调用的方法。首先说明了项目环境,接着详细阐述安装Zookeeper本地服务的步骤,然后分别介绍创建服务提供者和调用者的过程,最后总结了提供者与消费者模式的不同实现方式及优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目环境:

  • IntelliJ IDEA
  • tomcat8.5.38
  • jdk1.8
  • apache-zookeeper-3.5.5-bin.tar

一、安装zookeeper本地服务

1.通过链接下载对应的包 http://www.apache.org/dist/zookeeper/
选择:apache-zookeeper-3.5.5-bin.tar
在这里插入图片描述
2、解压后,conf里面,会看到zoo_sample.cfg文件。将zoo_sample.cfg改成bak文件(备份),并复制一个修改为zoo.cfg,修改相关配置内容,添加下面两行参数:
dataDir=D:\Sofeware\apache-zookeeper-3.5.5-bin\tmp
dataLogDir=D:\Sofeware\apache-zookeeper-3.5.5-bin\logs

注意:如果后面启动出现闪退情况,有可能是因为8080端口被占用,需要修改下admin端口,添加参数(端口不重复就行):admin.serverPort=8888
在这里插入图片描述
3、修改好配置文件后,双击zkServer.cmd,如果出现闪退了,看是否是上面8080端口被占用的问题不(可以用文本编辑下zkServer.cmd,在倒数第二行加一个 pause,可以控制启动失败时不闪退)。
在这里插入图片描述
4、启动,显示下图则表示 zookeeper已经启动成功。
在这里插入图片描述

二、创建服务提供服务(provider)

0、项目结构图:
在这里插入图片描述
1、搭建springmvc项目环境

pom.xml:(相关maven包)

<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.test</groupId>
  <artifactId>dubbo-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>dubbo-demo</name>
  <url>http://maven.apache.org</url>

  <properties>
    <motan.version>0.3.0</motan.version>
    <!-- 在阿里巴巴内部广泛使用的GA版本为: 2.4.9, 强烈推荐此版本 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>5.1.2.RELEASE</spring.version>
    <jackson.version>2.9.7</jackson.version>
    <shiro.version>1.4.0</shiro.version>
    <junit>4.12</junit>
  </properties>

  <dependencies>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- dubbo -->
    <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>
    
    <!-- spring相关 -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-context-support</artifactId>
    	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值