2024-04-11最新dubbo+zookeeper下载安装,DEMO展示

dubbo+zookeeper下载安装

下载zookeeper:
下载地址

解压,并进入bin目录,启动

如果闪退可以编辑脚本,在指定位置加上暂停脚本

报错内容说没有conf/zoo.cfg,就复制zoo_sample.cfg重命名为zoo.cfg

再次启动脚本,启动成功。

dubbo-admin控制台在github:用于检测zookeeper的注册情况
github地址

选择稳定版的

直接下载

解压,idea打开,读readme,进行环境配置

cmd执行:

构建

mvn clean package -Dmaven.test.skip=true

运行

mvn --projects dubbo-admin-server spring-boot:run

根据提示访问:http://localhost:38080

账号密码:root/root

DEMO展示

编程入门:

创建了两个springboot项目作为生产者消费者进行演示:

java1.8

springboot2.7.10

maven3.9.6

spring-boot-starter-web

生产者

pom.xml配置文件

复制代码
<!--        导入dubbo+zookeeper的依赖-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>3.3.0-beta.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
<!--        zookeeper的日志和springboot的日志会冲突-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-x-discovery</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

application.properties配置文件

复制代码
spring.application.name=provider
server.port=8001

# zk 注册
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=com.rong.service

代码

复制代码
package com.rong.service;

public interface TicketService {
    public String getTicket();
}

package com.rong.service;

import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Component;

@DubboService
@Component
public class TicketServiceImpl implements TicketService{

    @Override
    public String getTicket() {
        return "卖票+i";
    }
}

消费者

pom.xml

复制代码
        <!--        导入dubbo+zookeeper的依赖-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>3.3.0-beta.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <!--        zookeeper的日志和springboot的日志会冲突-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-x-discovery</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

application.properties

复制代码
spring.application.name=consumer
server.port=8002

# zk 消费
dubbo.application.name=dubbo-consumer
dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.application.qos-port=22221

代码

接口

复制代码
package com.rong.service;

public interface TicketService {
    public String getTicket();
}

消费者类

复制代码
package com.rong.service;

import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Component;

@Component
public class UserService {

    @DubboReference
    TicketService TICKET_SERVICE;

    public void buyTicket(){
        String ticket = TICKET_SERVICE.getTicket();
        System.out.println("comsumer"+"::zookeeper::"+ticket);
    }
}

springboot测试类

复制代码
package com.rong;

import com.rong.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class ConsumerApplicationTests {

    @Autowired
    UserService userService;

    @Test
    void contextLoads() {
        userService.buyTicket();
    }

}

附加一:

pom.xml依赖内容可由

复制代码
        <!--        导入dubbo+zookeeper的依赖-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>3.3.0-beta.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <!--        zookeeper的日志和springboot的日志会冲突-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-x-discovery</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

替换为

复制代码
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>3.2.10</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>3.2.10</version>
        </dependency>

附加二:

dubbo项目创建可以从官网创建:
官网地址

根据具体情况选择版本,并生成

程序可直接使用(api模块分离形式请参考生成项目)

相关推荐
APItesterCris21 小时前
构建分布式京东商品数据采集系统:基于 API 的微服务实现方案
分布式·微服务·架构
不吃饭的猪1 天前
kafka启动小脚本
分布式·kafka
休息一下接着来1 天前
MinIO 分布式模式与纠删码
分布式·minio
胆怯的ai萌新1 天前
论文阅读/博弈论/拍卖:《Truthful Auction for Cooperative Communications》
分布式·信息与通信
失散131 天前
分布式专题——10.1 ShardingSphere介绍
java·分布式·架构·shardingsphere·分库分表
阿雄不会写代码1 天前
分布式部署的A2A strands agents sdk架构中的最佳选择,使用open search共享模型记忆
分布式·架构
许泽宇的技术分享1 天前
微软图引擎GraphEngine深度解析:分布式内存计算的技术革命
分布式·microsoft
AAA修煤气灶刘哥1 天前
ES数据同步大乱斗:同步双写 vs MQ异步,谁才是王者?
分布式·后端·elasticsearch
程序消消乐1 天前
ZooKeeper Multi-op+乐观锁实战优化:提升分布式Worker节点状态一致性
分布式·zookeeper·云原生
猫林老师1 天前
HarmonyOS 5分布式数据管理初探:实现跨设备数据同步
分布式·harmonyos