最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows下Dubbo+Zookeeper實現(xiàn)分布式部署教程

 更新時間:2025年10月22日 08:43:05   作者:有女孩說要娶我  
本文介紹了如何使用Dubbo和Zookeeper搭建分布式服務,包括環(huán)境準備、項目結(jié)構(gòu)、依賴引入、接口與服務實現(xiàn)、注解配置及服務調(diào)用流程,適合初學者參考和實踐

前言

使用Dubbo+Zookeeper實現(xiàn)分布式服務部署,環(huán)境提前準備好,并不局限于當前版本,只是更高版本的依賴注解等有些區(qū)別,整體實現(xiàn)思路不變。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、環(huán)境準備

本地環(huán)境如下:

  1. 1. JDK1.8
  2. 2. Maven3.6.3
  3. 3. IDE:IDEA2024
  4. 4. Tomcat8.5.99
  5. 5. Zookeeper3.6.4
  6. 6. Dubbo2.5.10

二、使用步驟

1. 創(chuàng)建項目

項目結(jié)構(gòu)如下:

dubbo-common:父項目

  • dubbo-consumer:服務消費端
  • dubbo-interface:接口
  • dubbo-provider:服務提供端

2. 引入依賴

服務消費端和服務提供端需要引入接口模塊:

        <dependency>
            <groupId>com.xxxxxx</groupId>
            <artifactId>dubbo-interface</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

以及zookeeper和dubbo相關(guān)依賴:

        <!-- Dubbo 依賴 -->
        <dependency>
            <groupId> com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.10</version>
            <type>jar</type>
        </dependency>
        <!-- Zookeeper 客戶端依賴 -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>5.2.0</version>
        </dependency>
        <!-- 添加 zkclient 依賴 -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
        <!-- 顯式指定ZooKeeper版本 -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.6.4</version>
        </dependency>
        <!-- Spring Context 依賴 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.8</version>
        </dependency>

3. 在接口模塊定義接口

public interface UserService {
    /**
     * 獲取用戶名
     * @param userName
     * @return
     */
    String getUserName(String userName);
}

4. 在服務提供模塊定義服務實現(xiàn)

(注意實現(xiàn)的為接口模塊的Service)

@Service
public class UserServiceImpl implements UserService {
    /**
     * 獲取用戶名
     * @param userName
     * @return
     */
    @Override
    public String getUserName(String userName) {
        return "hello" + userName;
    }
}

其中@Service注解為

import com.alibaba.dubbo.config.annotation.Service;

同時增加dubbo的配置

# Dubbo 配置
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

啟動類加注解

@EnableDubbo

5. 在服務消費模塊進行服務調(diào)用

(注意注入的為接口模塊的Service)

@RestController
public class UserController {

    @Reference
    private UserService userService;

    @GetMapping("/getUserName")
    public String getUserName(@RequestParam String userName) {
        System.out.println("用戶名:" + userName);
        return userService.getUserName(userName);
    }
}

其中@Reference注解為

import com.alibaba.dubbo.config.annotation.Reference;

同樣添加配置信息和注解,配置的name改為dubbo-consumer

6. 啟動provider&consumer

Dubbo查看服務

7. 調(diào)用

http://localhost:8086/getUserName?userName="張三"

總結(jié)

以上就是今天要講的內(nèi)容,本文簡單介紹了如何使用Dubbo+Zookeeper實現(xiàn)簡單的服務調(diào)用,后續(xù)可以將服務部署在不同的服務器上,實現(xiàn)真正的分布式部署。

第一次實現(xiàn)想了想還是記錄一下,給同樣小白的朋友參考。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

论坛| 宁明县| 绩溪县| 德令哈市| 云安县| 阿鲁科尔沁旗| 永修县| 晴隆县| 连城县| 金溪县| 鄂伦春自治旗| 蓬安县| 洛宁县| 黄山市| 乌拉特后旗| 德惠市| 元谋县| 汝南县| 卢龙县| 江门市| 托里县| 屯昌县| 巴里| 鹿邑县| 北川| 鄂尔多斯市| 双城市| 安乡县| 北安市| 来宾市| 福鼎市| 佛坪县| 静海县| 乌鲁木齐县| 依兰县| 墨竹工卡县| 营口市| 青浦区| 德钦县| 乃东县| 通山县|