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{@Overridepublic 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:2181dubbo.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 {@DubboReferenceTicketService 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 {@AutowiredUserService userService;@Testvoid 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模块分离形式请参考生成项目)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

顶切,半顶切是什么意思?

齿轮加工及刀具中有一些特定名词或者叫法&#xff0c;不熟悉的小伙伴可能最开始会有一些困惑&#xff0c;这不&#xff0c;最近有小伙伴问了一个问题&#xff1a;顶切是说齿顶的倒角吗&#xff1f; 今天就给大家说说顶切和半顶切。 一、顶切 Topping 从字面上可以看到可以想到…

电大搜题:云南开放大学学子的学习利器

在现代社会&#xff0c;学习已经成为人们不可或缺的一部分。然而&#xff0c;对于云南开放大学的学子们来说&#xff0c;由于远程教育的特殊性&#xff0c;他们面临着更大的学习挑战。幸运的是&#xff0c;云南开放大学的学子们现在可以借助一款强大的学习利器——电大搜题微信…

Solana主网使用自定义的RPC进行转账

1、引言 如果用 browser 连接主网的 RPC server 会收到 error code 403 message 為 Access forbidden, contact your app developer or supportrpcpool.com. 错误&#xff0c;因为主网的 RPC server 会检查 HTTP Header 如果判断出來是 browser 就会报告 403 錯誤。 要解決这…

自己操作逆向案例一——某竞赛网登录密码加密,超级简单,泪目了!

网址&#xff1a;aHR0cHM6Ly9leGFtem9uZS5zYWlrci5jb20vcXVlc3Rpb24vZXhwbG9yZQ 打开开发者工具&#xff0c;点击账号密码登录&#xff0c;进行抓包 先进行搜索&#xff0c;发现一下子就找到了&#xff0c;且看上去很像MD5加密&#xff0c;打上断点&#xff0c;再次点击登录。…

Wpf 使用 Prism 实战开发Day18

数据加载动画实现 概要&#xff1a; 当打开功能页面时&#xff0c;在数据未加载完毕前&#xff0c;希望有一个友好的等待提示。那么&#xff0c;本章通过学习Prism 中事件聚合器&#xff08;EventAggregator&#xff09;&#xff0c;并通过创建等待提示窗口&#xff0c;同时结…

【问题】解决1130-Host‘ ‘is not allowed to connect to this MySQL 本地无法连接服务器的数据库

【问题】解决1130-Host‘ ‘is not allowed to connect to this MySQL 本地无法连接服务器的数据库 原因: 默认mysql只允许 localhost 本地访问数据库, 解决方法 将 localhost 改为 % 所有 第一步 回车 输入密码 mysql -u root -p 第二步 切换数据库 use mysql 第三步 更新所…

NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理

NL2SQL基础系列(2)&#xff1a;主流大模型与微调方法精选集&#xff0c;Text2SQL经典算法技术回顾七年发展脉络梳理 Text-to-SQL&#xff08;或者Text2SQL&#xff09;&#xff0c;顾名思义就是把文本转化为SQL语言&#xff0c;更学术一点的定义是&#xff1a;把数据库领域下的…

国外站群服务器有哪几种?

国外站群服务器种类繁多&#xff0c;它们各具特色&#xff0c;适用于不同的业务需求和场景。以下将为您科普几种常见的国外站群服务器及其特点。 首先&#xff0c;美国站群服务器以其丰富的IP资源和强大的网络技术著称。作为全球网络技术和数据中心发展的领先者&#xff0c;美国…

AI python

AI python 软件方面程序上的人工智能&#xff0c;和物理那种能跑机器人没关系

AI术语大全:AGI、LLM、GenAI、GPT、ChatGPT和AIGC是什么意思?

讲动人的故事,写懂人的代码 自2022年底ChatGPT在全球AI界闪亮登场以后,你是不是经常听到AGI、LLM、GenAI、GPT和AIGC这几个词,但总是分不清它们到底是什么意思? 今天,我就用简单的话来给你讲讲这些词到底是什么意思。 AI,人工智能(Artificial Intelligence),就是让机…

SQLI-labs-第九关和第十关

知识点&#xff1a;时间盲注 思路&#xff1a; 1、判断注入点 首先&#xff0c;我们先看一下注入点&#xff0c;输入?id1 接着输入?id1 # 结果还是没有变化 接着再输入 ?id1" # 结果还是没变 再输入?id-1 结果还是一样 通过这几种测试方法&#xff0c;结果回显都…

24. 【Android教程】适配器 Adapter

本节将会引入一个全新的概念——适配器&#xff0c;这个名字很形象&#xff0c;和电源适配器的功能类似&#xff0c;从程序设计的角度出发&#xff0c;它可以将不同类型、不同结构的数据适配到一起。 在 Android 中&#xff0c;适配器是 UI 组件和数据之间的桥梁&#xff0c;它…