搭建dubbo-zk应用

简介: 本文介绍基于SpringBoot 2.2.2与Dubbo 2.0.0的分布式服务搭建,集成ZooKeeper作为注册中心,JDK 1.8环境。涵盖父工程创建、API模块定义、Provider服务提供与Consumer消费全流程,并附配置及验证步骤,助力快速掌握Dubbo微服务通信核心。

springboot:2.2.2alibaba.dubbo:2.0.0zkclinet:0.10JDK:1.81.创建父工程Idea或Eclipse创建普通Maven工程,GAV定义随意,也可以参考我的G:com.youzhaA:Dubbo_SoulV:1.0-SNAPSHOT父pom完整文件(该文件包括三个子module,在之后创建)

2.创建共用Dubbo_Api2.1 pom2.2 创建共用资源整体目录结构:|── com.youzha.dubbo|── dto            封装共用返回Result|── entity        共用参数,返回Body|── service      暴露Service,提供给第三方使用 3.创建提供者Dubbo_Provider3.1 pom3.2 Service需要注意的是,这里的@Service引自:import com.alibaba.dubbo.config.annotation.Service;,标注其为一个Dubbo的Service,而下面的@Component才是将其注入成一个Spring Bean。3.3 Controller这里的Controller模拟多个服务,除提供Dubbo接口外,自身还提供Http接口。3.4 启动类Application3.5 配置文件4.创建消费者Dubbo_Consumer4.1 pom4.2 Service4.2.1 定义Sevice这个Service是我们自己业务所需,只是在这个Service中的某些数据我们要调用Provider服务而已,这个和Provider提供的service本身没有直接关系,也不需要保持方法名,入参的完全一致,只是引用。4.2.2 定义ServiceImpl说明:实现是的我们自身的业务接口通过dubbo的@Reference注解,注入Provider的Service【而提供者是通过dubbo的@Service注解暴露,暴露和注入都在zookeeper获取】4.3 Controller4.4 启动类Application4.5 配置文件5.验证5.1 运行zookeeper当然前提是需要安装zk,配置文件也可以看到我这里启动的本地zk(如果你使用的其他地址的zk,替换上图zk的地址即可),如果没有可以参考这个附件:

zookeeper.rar(70.7 MB)运行前你需要解压打开:zookeeper-3.4.14\conf\zoo.cfg,确保对应的dataDir在你本地存在,如果是Linux系统换成对应的路径即可,下图示例:Windows本地进入:zookeeper-3.4.14\bin,如果你和我一样是Windows环境测试,双击:zkServer.cmd,如果你是Linux环境,启动zkServer.sh,二者效果完全一致,启动后类似下图则表示启动完成:5.2 启动提供者直接启动对应的启动类Application即可。5.3 启动消费者直接启动对应的启动类Application即可。5.4 请求验证postman发送地址请求:http://localhost:9092/consumer/getUserById?id=1查看消费者日志:查看提供者日志:6.总结如果你在本章节,运行并未出现上述效果,可能是哪里出错了,我们在接下来的网关接入,一样比对着可以修复,你可以百度自行解决当前问题,也可直接进入下一章节,进行网关接入,一起验证。

相关文章
|
Dubbo Java 应用服务中间件
微服务技术系列教程(30) - Dubbo-SpringCloud与Dubbo区别
微服务技术系列教程(30) - Dubbo-SpringCloud与Dubbo区别
736 0
【ES系列五】——集群搭建(多机集群&单机多节点集群)
集群是为一组互联的完整计算机,一起作为一个统一的计算资源而工作,给人以一台机器的感觉。
|
11月前
|
消息中间件 NoSQL Java
拒绝频繁写库!SpringBoot 整合 BufferTrigger 实现高性能“流量聚合”
本文介绍如何用SpringBoot整合BufferTrigger实现高性能流量聚合,解决高并发下频繁写库的痛点。通过快手开源的BufferTrigger组件,可将大量数据库操作合并为批量执行,显著提升I/O效率,适用于计数、埋点、状态同步等场景,兼具高性能与低延迟。
860 145
|
4月前
|
存储 人工智能 JSON
OpenCode 替代 Claude Code:传闻阿里内部全面禁用 Claude Code!
Claude Code 封号潮网传阿里禁用,opencode 成开源替代首选。本文讲透 npm 安装与 CC Switch、手动两种方式迁移 MCP、Agent。
OpenCode 替代 Claude Code:传闻阿里内部全面禁用 Claude Code!
|
11月前
|
存储 消息中间件 Apache
ZooKeeper 实战指南:从入门到场景解析
Apache ZooKeeper是分布式系统的协调核心,本文带你快速搭建环境,掌握Znode操作与Watcher机制,深入理解其在分布式锁、配置管理、服务发现等场景的应用,并解析美团Leaf中的实践案例。
1558 221
|
存储 关系型数据库 MySQL
DataX: 阿里开源的又一款高效数据同步工具
DataX 是由阿里巴巴集团开源的一款大数据同步工具,旨在解决不同数据存储之间的数据迁移、同步和实时交换的问题。它支持多种数据源和数据存储系统,包括关系型数据库、NoSQL 数据库、Hadoop 等。 DataX 提供了丰富的数据读写插件,可以轻松地将数据从一个数据源抽取出来,并将其加载到另一个数据存储中。它还提供了灵活的配置选项和高度可扩展的架构,以适应各种复杂的数据同步需求。
|
7月前
|
缓存 JSON 应用服务中间件
【HTTP】HTTP状态码全分类表(1xx/2xx/3xx/4xx/5xx)(附:《思维导图》)
HTTP状态码是服务器对客户端请求的3位数字响应,依据RFC 7231分为5类:1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。本文系统梳理各分类核心码(如200、404、500等),明确语义、场景、特性及常见误区,兼顾规范性与工程实践。
6479 2
|
3月前
|
人工智能 API 开发工具
保姆级实操|Codex 桌面版安装 + CC Switch 接入DeepSeek、千问等第三方 API 完整教程
对于长期使用Codex作为AI编程助手的开发者而言,原生模式下只能使用官方模型服务,成本、模型选择都存在局限,而CC Switch作为专门适配Codex、Claude Code等开发工具的AI网关代理,可以实现Codex桌面客户端底层流量转发,无缝接入任意兼容OpenAI协议的第三方大模型API,包含DeepSeek系列、千问、GLM等主流推理模型,既能保留Codex原生IDE联动、代码对话、仓库解析、插件生态等全部桌面端能力,又能自主选择模型、管控调用成本,是研发群体非常实用的改造方案。很多新手在落地这套方案时,常常混淆两种接入模式(配置写入模式与Local Routing本地路由模式)、不
2465 0
|
8月前
|
机器学习/深度学习 存储 数据可视化
一键对接阿里百炼大模型,MaixinVoiceAI 3.0打造超拟人企业级智能呼叫中心
在大模型浪潮下,阿里百炼×MaixinVoiceAI 3.0重塑大模型智能呼叫中心:95%+语音识别率、自然多轮对话、零代码三步对接,5分钟上线。支持电话智能体(80%需求自动化)与座席助手双引擎,降本40%+,提升满意度,已落地金融、政务、医疗等十大行业。
|
10月前
|
存储 自然语言处理 Java
为什么 Elasticsearch 搜索这么快?深入理解倒排索引与分词器原理
Elasticsearch 搜索快的秘诀在于倒排索引与分词器。倒排索引通过“词项→文档ID”映射,避免全表扫描;分词器则负责文本的切分与归一化处理,提升检索效率。本文图解剖析其核心原理,助你掌握ES高性能搜索的底层逻辑。(238字)