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模块分离形式请参考生成项目)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/535243.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS开发实例:【手势截屏】

介绍 本篇Codelab基于手势处理和截屏能力&#xff0c;介绍了手势截屏的实现过程。样例主要包括以下功能&#xff1a; 根据下滑手势调用全屏截图功能。全屏截图&#xff0c;同时右下角有弹窗提示截图成功。根据双击手势调用区域截图功能。区域截图&#xff0c;通过调整选择框大…

Excel 记录单 快速录入数据

一. 调出记录单 ⏹记录单功能默认是隐藏的&#xff0c;通过如下如图所示的方式&#xff0c;将记录单功能显示出来。 二. 录入数据 ⏹先在表格中录入一行数据&#xff0c;给记录单一个参考 ⏹将光标至于表格右上角&#xff0c;然后点击记录单按钮&#xff0c;调出记录单 然后点…

百元不入耳运动耳机哪个品牌好?五款业内顶尖品牌推荐

在追求舒适与健康的运动中&#xff0c;不入耳式&#xff08;开放式耳机&#xff09;运动耳机逐渐成为了许多运动爱好者的首选&#xff0c;它们不仅避免了长时间佩戴耳机带来的不适&#xff0c;还能在享受音乐的同时保持对环境的警觉&#xff0c;确保运动安全&#xff0c;市场上…

Python中同时调用多个列表

如果你有多个列表&#xff0c;想要同时迭代它们&#xff0c;可以使用zip()函数。zip()函数可以将多个可迭代对象合并成一个元组的迭代器&#xff0c;然后你可以在循环中使用它。 问题背景 当需要在Python脚本中避免重复相同任务时&#xff0c;可以使用for循环来遍历列表。但是…

Volatility-内存取证案例1-writeup--xx大赛

题目提示&#xff1a;flag{中文} 按部就班 &#xff08;1&#xff09;获取内存镜像版本信息 volatility -f 文件名 imageinfo 通过上述可知&#xff0c;镜像版本为Win7SP1X64。 &#xff08;2&#xff09;获取进程信息&#xff1a; volatility -f 镜像名 --profile第一步获取…

面壁智能完成新一轮数亿元融资,继续面向AGI的高效大模型征程

近日&#xff0c;面壁智能完成新一轮数亿元融资&#xff0c;由春华创投、华为哈勃领投&#xff0c;北京市人工智能产业投资基金等跟投&#xff0c;知乎作为战略股东持续跟投支持。本轮融资完成后&#xff0c;面壁智能将进一步推进优秀人才引入&#xff0c;加固大模型发展的底层…

6.12物联网RK3399项目开发实录-驱动开发之UART 串口的使用(wulianjishu666)

嵌入式实战开发例程【珍贵收藏&#xff0c;开发必备】&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1tkDBNH9R3iAaHOG1Zj9q1Q?pwdt41u UART 使用 简介 AIO-3399J 支持 SPI 桥接/扩展 4 个增强功能串口&#xff08;UART&#xff09;的功能&#xff0c;分别为 UA…

LeetCode 面试题 02.07.链表相交(判断两个结点是否相同)

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&#x…

Qt中的网络通信

C没有封装专门的网络套接字的类&#xff0c;因此C只能调用C对应的API&#xff0c;而在Linux和Windows环境下的API都是不一样的 Qt作为一个C框架提供了相关封装好的套接字通信类 在Qt中需要用到两个类&#xff0c;两个类都属于network且都是属于IO操作&#xff0c;只不过这两个类…

ArcGIS Desktop使用入门(三)图层右键工具——缩放至图层、缩放至可见

系列文章目录 ArcGIS Desktop使用入门&#xff08;一&#xff09;软件初认识 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——标准工具 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——编辑器 ArcGIS Desktop使用入门&#xff08;二&#x…

Java 怎么捕捉 Windows 中前台窗口的改变?

在Java中捕捉Windows中前台窗口的改变通常需要使用JNI&#xff08;Java Native Interface&#xff09;来调用Windows API。Windows API提供了一系列函数来获取有关窗口和进程的信息&#xff0c;通过使用这些函数&#xff0c;我们可以实现在Java程序中监视和捕捉Windows前台窗口…

抖音爬虫——点赞量

该爬虫模拟了一个get请求来得到返回json里面的点赞量信息 下面介绍如何使用&#xff1a; 首先&#xff0c;我们找一个浏览器打开抖音搜索具体的关键词 接着我们点击键盘的F12建 就会出现如下的界面&#xff0c;接着我们点击网络&#xff08;可能再一些浏览器是叫network&…

JavaSE:this关键字(代码和内存图讲解)

this的含义 this代表当前对象&#xff0c;谁调用this所在的方法&#xff0c;this就代表谁 这句话非常重要 demo 以这段代码为例&#xff0c;setNum方法内部的this&#xff0c;setStr方法内部的this&#xff0c;还有构造方法ThisKeyword(int num, String str)内部的两个this…

软件库V1.2版本开源-首页UI优化

iAppV3源码&#xff0c;首页的分类更换成了标签布局&#xff0c;各位可以参考学习&#xff0c;界面名称已经中文标注&#xff01; 老版本和现在的版本还是有较大的区别的&#xff0c;建议更新一下&#xff01; 新版本改动界面如下&#xff1a; 1、首页.iyu&#xff1a;分类按…

基于javassm实现的幼儿教育管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

晶核职业选择:六大角色技能揭秘,成为战斗高手!

在晶核的世界中&#xff0c;每一位玩家都扮演着不同角色&#xff0c;组成多样的团队&#xff0c;共同踏上探索未知的征程。而每个角色都有其独特的技能和特点&#xff0c;下面将为你详细介绍每个角色的技能搭配和操作技巧&#xff0c;让你在战斗中游刃有余&#xff0c;一展自己…

MPT - 原理及应用

前文回顾 Merkle原理及应用Merkle代码实现Patricia原理及应用Patricia代码实现 什么是MPT&#xff08;Merkle Patricia Tree&#xff09;树 MPT树是一种数据结构&#xff0c;用于在以太坊区块链中高效地存储和检索账户状态、交易历史和其他重要数据。MPT树的设计旨在结合Merk…

python之文件操作与管理

1、文件操作 通过open&#xff08;&#xff09;操作&#xff0c;来创建文件对象&#xff0c;下面是open&#xff08;&#xff09;函数语法如下&#xff1a; open&#xff08;file,mode r,buffering -1 , encoding None ,errors None , newline None,closefd True,opener …

分布式向量数据库-安装部署

下载 GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres 源码编译 ##文件解压缩 unzip pgvector-0.6.2.zip ##编译 make && make install 功能验证 #安装扩展CREATE EXTENSION vector;#创建测试表CREATE TABLE items (id bigseri…

互联网需要做安全防护吗?

互联网需要做安全防护&#xff0c;因为网络攻击的风险随时存在。一旦遭受大规模攻击&#xff0c;企业很可能会受到严重影响&#xff0c;甚至会造成巨大的经济损失和品牌声誉受损。因此&#xff0c;建议企业在安全防护方面做好以下几点&#xff1a; 加强网络安全意识教育&#x…