Dubbo ZooKeeper Spring Boot整合

news2024/9/21 14:35:42

依赖配置

1. Dubbo 起步依赖

Dubbo 是一款高性能的 Java RPC 框架,用于快速开发高性能的服务。

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>${dubbo.version}</version>
</dependency>

2. ZooKeeper API 管理依赖

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>${curator.version}</version>
</dependency>

3. ZooKeeper 依赖

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>${zookeeper.version}</version>
</dependency>

4.版本管理

<properties>
    <dubbo.version>2.7.8</dubbo.version>
    <curator.version>5.1.0</curator.version>
    <zookeeper.version>3.7.0</zookeeper.version>
</properties>

项目文件目录架构

项目目录架构.png

1. API模块

此模块包含Dubbo服务的接口定义和共享模型。

2. 实体模块

此模块包含实体类,与数据库模型相对应。

3. 服务提供者模块

此模块实现Dubbo服务接口,并配置Dubbo提供者的相关属性。

  • pom.xml中添加Dubbo和ZooKeeper依赖。
  • application.propertiesapplication.yml中配置Dubbo和ZooKeeper的连接信息。

4. 服务消费者模块

此模块使用Dubbo服务接口,并配置Dubbo消费者。

  • pom.xml中添加Dubbo依赖。
  • application.propertiesapplication.yml中配置Dubbo和ZooKeeper的连接信息。

配置Dubbo和ZooKeeper的连接信息配置

provider配置

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://${local.ip}:3306/dubbotest?useSSL=false
    username: root
    password: 123456

#dubbo服务提供者的配置:应用名称、注册中心地址、扫描的包;  可选配置:rpc协议和版本
dubbo:
  application:
    name: dubbo2-provider #应用名称,要求不重复
  registry:
    address: zookeeper://${local.ip}:2181
  scan:
    base-packages: com.codeT.dubbo.service #扫描的包
  protocol:
    name: dubbo  #rpc协议
    port: 20880  #rpc端口

dev:
  ip: 192.168.160.128 #服务器ip

local:
  ip: 127.0.0.1

comsumer配置

server:
  port: 80
  servlet:
    context-path: /
#dubbo的消费者配置:应用名称、注册中心地址、扫描的包; 可选配置:启动时检查、超时时间、重试次数
dubbo:
  application:
    name: dubbo2-consumer #应用名称
  registry:
    address: zookeeper://${local.ip}:2181 #注册中心地址
  scan:
    base-packages: com.codeT.dubbo.controller #扫描的包
  consumer:
    check: false #启动时检查
    timeout: 30000 #rpc调用的超时时间
    retries: 0 #调用失败后的生效次数

dev:
  ip: 192.168.160.128 #服务器ip

local:
  ip: 127.0.0.1

提供者和消费者是如何进行通信的?

核心注解

服务提供者(Provider)

@Service 注解
  • 作用:将一个类标记为Dubbo服务提供者。

服务消费者(Consumer)

@Reference 注解
  • 作用:注入远程服务引用。

启动Dubbo自动配置

@EnableDubbo注解
@EnableDubbo
@SpringBootApplication
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}
或者在配置文件进行扫描
scan:
    base-packages: com.codeT.dubbo.controller #扫描的包

项目demo地址

https://gitee.com/yellowpeng/dubbo-demo-springboot-master

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux中的常见命令——用户管理命令

1、useradd添加新用户 基本语法 语法功能描述useradd 用户名添加新用户useradd -g 组名 用户名添加新用户到某个组 实操案例 1、添加一个新用户【此时的用户是没有密码的】 [rootcentos100 ~]# cd /home [rootcentos100 home]# ls www zss [rootcentos100 home]# useradd…

如果自学通过PMP?

自学&#xff1f;现在没有自学通道啦&#xff0c;要通过有R.E.P授权的机构学习&#xff0c;获得35个PDU才能报考哦~ 所以要报培训班~ 一是&#xff0c;PMP 官方的报考条件需要35个PDU&#xff0c;就是要报机构学习后获得。个人报考渠道去年就关闭了&#xff0c;只能通过机构报…

算法-初阶

文章目录 -1.C 标准0.语法基础 1. C头文件2. C命名空间3. 主函数4. 变量类型5. ASCII码6. 注释1.顺序结构 一、代码示例二、例题1&#xff1a;求圆的面积三、例题2&#xff1a;求解一元二次方程四、总结&#xff1a;2.分支结构 一、代码示例二、例题1&#xff1a;判断一个数是否…

必看 | CDP盘活存量客户的5大步骤和3个应用案例

​“我们有几十家门店&#xff0c;也有APP、小程序和网站&#xff0c;客户信息散落在各系统中&#xff0c;比较杂乱&#xff0c;一直没有统一去维护&#xff0c;现在想把存量客户运营起来&#xff0c;你们CDP能做吗&#xff1f;”类似的咨询&#xff0c;我们几乎每天都会接到。…

工业三防平板全面提升工厂的工作效率

在当今高度自动化和智能化的工业时代&#xff0c;工厂的工作效率成为了企业竞争力的关键因素。而工业三防平板的出现&#xff0c;犹如一颗璀璨的新星&#xff0c;为工厂带来了全新的变革&#xff0c;全面提升了工厂的工作效率。 工业三防平板具备防水、防尘、防摔的特性无论是潮…

基于 Redis 的 HyperLogLog 实现了 UV 的统计

文章目录 前言HyperLogLog 简介HyperLogLog 的工作原理例子总结 前言 在现代网站开发中&#xff0c;用户行为分析是一个非常重要的环节。其中&#xff0c;UV&#xff08;Unique Visitor&#xff0c;独立访客&#xff09;和PV&#xff08;Page View&#xff0c;页面浏览量&…

10 Java数据结构(下):集合进阶之Map(双列集合)系列:

文章目录 前言一、 Map(双列集合)接口1 常用方法2 遍历方式(1)使用map.keySet()方法(2)使用map.entrySet()方法(3)lambda表达式遍历(这个最简单)3 实现类:HashMap、LinkedHashMap、TreeMap(1)HashMap---- HashMap的特点---- HashMap的底层原理---- 特别注意:自定义…

Spring之SpringSecurity

SpringSecurity相关 一、SpringSecurity简介二、SpringSecurity主要功能三、SpringSecurity的Maven依赖四、Security本质&#xff1a;过滤器链五、用户认证1、根据用户实体&#xff0c;封装一个UserDetails实体对象LoginUser类2、自定义UserDetailsService接口的实现 一、Sprin…

[笔记]基于小波分析的基频识别

原文&#xff1a;基于小波分析的油田机械传动装置振动信号识别方法&#xff0c;科技资讯&#xff0c;202305&#xff0c;赵磊 摘要:为提高油田机械设备运行的稳定性与高效性&#xff0c;分析传动装置的运行特性该研究设计了一种基于小波分析的油田传动装置振动信号识别方法。应…

企业选择软件测试外包公司有什么好处软件测评服务公司推荐

软件测试外包公司是专门为企业提供软件测试服务的第三方机构&#xff0c;帮助企业提高软件质量&#xff0c;降低开发和维护成本。以卓码软件测评为例&#xff0c;公司致力于为客户提供全面的软件测试解决方案&#xff0c;包括项目验收测试、软件确认测试、安全测试、性能测试和…

[HZNUCTF 2023 preliminary]ppppop

[HZNUCTF 2023 preliminary]ppppop 点进去之后是一片空白 接着我们打开HackBar 然后我们看到cookie里面有一个base64编码&#xff1a; Tzo0OiJVc2VyIjoxOntzOjc6ImlzQWRtaW4iO2I6MDt9利用在线工具解码得到&#xff1a; O:4:"User":1:{s:7:"isAdmin";b:…

FreeRTOS实战项目CRTP协议移植(实现使用串口传输数据包)

文章目录 一、CRTP 协议①协议层次②端口分配 二、实现串口收发数据包2.1 数据包格式&#xff1a;2.2 如何传递数据包 三、CRTP处理数据过程3.1 CRTP处理数据流程示例&#xff1a;3.2 添加CRPT基本功能①链路初始化函数② CRTP层初始化③创建底层任务代码④ping服务⑤ 上机实验…

宝兰德多款仓颉开源项目获GitCode官方G-Star毕业认证,释放开发效率新动能

近日&#xff0c;由宝兰德基于仓颉编程语言开发的项目「Cangjie-TPC/redis-sdk」「Cangjie-TPC/hyperion」入驻GitCode平台&#xff0c;并获得GitCode官方优秀毕业项目认证&#xff0c;成为G-Star计划的一员&#xff0c;标志着宝兰德与GitCode将携手开启软件研发新纪元&#xf…

变频器会干扰补偿电容器正常工作吗

变频器&#xff08;VFD&#xff0c;Variable Frequency Drive&#xff09;可能会对补偿电容器的正常工作产生干扰。变频器工作时产生的谐波、快速开关操作和高频噪声都可能影响电容器的性能。 一、以下是变频器对补偿电容器可能产生的一些影响&#xff1a; 1、谐波干扰 谐波生…

JS基础之【基本数据类型与类型间的隐式显示转换】

&#x1f680; 个人简介&#xff1a;某大型国企高级前端开发工程师&#xff0c;7年研发经验&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码…

【Linux】初步识操作系统

linux专栏&#xff1a;《Linux入门系列》 系列文章&#xff1a;gdb-调试器初入门&#xff08;简单版使用&#xff09; 编辑器vim入门&#xff08;概念模式转换技巧&#xff09; 目录 1. 概念 2. 设计操作系统的目的 3. 定位&#xff1a;操作系统负责管理 4. 如何理解管理 …

Linux 数据结构 链表

1.段错误调试方法&#xff1a; 1.按照网上的方法配置Ubuntu&#xff0c;允许生成core文件 2.重新编译代码并加入-g选项(允许进行GDB调试) 3.ulimit -c unlimited 不限制core文件的生成的大小 4.执行代码,复现段错误,产生包含出错信息的core文件(检查cor…

呼叫系统怎么使用提高安全性

呼叫中心提高使用的安全性是一个综合性的任务&#xff0c;涉及技术、管理、人员等多个方面。以下是一些关键措施&#xff0c;旨在提升呼叫中心的安全性&#xff1a; 一、加强技术防护 1.数据加密&#xff1a;采用先进的加密技术对通话内容和数据传输进行加密&#xff0c;如使用…

浙大联合港中深发布AI医疗最新报告,全面审视「虚拟现实+人工智能」

想象一下&#xff0c;医生在手术前&#xff0c;通过虚拟现实技术&#xff0c;能够身临其境地预演手术过程&#xff0c;精确到每一个细节&#xff1b;患者则可以在VR环境中进行心理治疗&#xff0c;减轻焦虑与恐惧。 这一切&#xff0c;都得益于AI与VR的强强联手。 医学视觉增强…

今日分享丨微服务架构下查询数据缓存策略

引言 随着企业业务规模的扩大和复杂度的提升&#xff0c;微服务架构因其高可用性、可扩展性和易于维护的特性&#xff0c;逐渐成为现代软件开发的首选架构模式。然而&#xff0c;微服务架构带来的分布式特性也增加了数据访问的复杂性和延迟。特别是业务查询领域&#xff0c;一…