搭建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区别
574 0
|
6天前
|
机器学习/深度学习 存储 数据可视化
一键对接阿里百炼大模型,MaixinVoiceAI 3.0打造超拟人企业级智能呼叫中心
在大模型浪潮下,阿里百炼×MaixinVoiceAI 3.0重塑大模型智能呼叫中心:95%+语音识别率、自然多轮对话、零代码三步对接,5分钟上线。支持电话智能体(80%需求自动化)与座席助手双引擎,降本40%+,提升满意度,已落地金融、政务、医疗等十大行业。
【ES系列五】——集群搭建(多机集群&单机多节点集群)
集群是为一组互联的完整计算机,一起作为一个统一的计算资源而工作,给人以一台机器的感觉。
|
Java Apache Scala
【阿里云镜像】配置阿里云Maven 镜像
【阿里云镜像】配置阿里云Maven 镜像
25946 1
【阿里云镜像】配置阿里云Maven 镜像
|
19天前
|
存储 监控 Java
吃透线程池核心原理:从参数设计、拒绝策略到高并发场景终极选型
本文深入剖析Java线程池底层原理,涵盖核心架构、生命周期、7大参数设计逻辑、执行流程及4种拒绝策略;结合CPU/IO密集型等场景给出生产级配置方案,并提供自定义线程工厂、监控、失败任务持久化等完整实战代码,助你规避OOM、雪崩等高频风险。
204 1
|
7月前
|
Java 测试技术 数据库
使用Spring的@Retryable注解进行自动重试
在现代软件开发中,容错性和弹性至关重要。Spring框架提供的`@Retryable`注解为处理瞬时故障提供了一种声明式、可配置的重试机制,使开发者能够以简洁的方式增强应用的自我恢复能力。本文深入解析了`@Retryable`的使用方法及其参数配置,并结合`@Recover`实现失败回退策略,帮助构建更健壮、可靠的应用程序。
834 1
使用Spring的@Retryable注解进行自动重试
|
6月前
|
存储 自然语言处理 Java
全球语言无障碍:Unicode标准解读与技术演进史
Unicode是全球字符统一编码标准,旨在为世界上所有文字、符号及emoji分配唯一码点,解决多语言乱码问题。它兼容ASCII,支持超14万字符,覆盖现代与古文字,通过UTF-8、UTF-16等编码方案实现跨平台信息交换,是互联网、操作系统和多语言通信的基础。
1294 2
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2971 1
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
591 3
|
算法 搜索推荐 Java
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
326 0