SpringBoot + Dubbo + Zookper 整合
经过2个小时的调试终于弄完了,过程如下,
环境: JDK1.8 、Springboot2.2.6、 Windows10系统
如果不看Dubbo 管理页面的话就不用下载 Dubbo-domain了,这个是Dubbo 可视化工具。
从 https://github.com/apache/incubator-dubbo-ops 下载压缩源码到本地

将下载的源码解压并放到一个文件夹,路径不允许有中文和特殊字符
然后 win+r 敲入cmd 打开控制台进入到刚刚的源码文件夹的根目录,运行 mvn package -DskipTests=true 将项目打包,因为最新的版本是springboot的打包之后会是一个jar包, 然后在控制台java -jar dubbo-admin-xxx.jar 来运行jar包,
当然了在运行之前一定要启动本地的zookper 。 如果启动的时候报出端口被占用(最新版本是用8080),这个时候进入源码包的 dubbo-domain\dubbo-admin-develop\dubbo-admin-server\src\main\resources中打开applicaiton.properties文件 加入server.port=端口号 来修改启动端口号。
zookper 的安装和使用
在网址 http://zookeeper.apache.org/releases.html 中下载zookper的压缩包解压缩,进入 Zookeeper\apache-zookeeper-3.6.0-bin\conf 目录复制一份 zoo_sample.cfg 配置文件并更名未 zoo.cfg , 打开修改名称之后的文件,在最后一行加入
admin.serverPort=8090 配置来重新指定端口,因为 zookper 中tomcat的启动端口也是8080, 他娘的也不知道8080端口那么香。然后进入解压之后的文件夹的 Zookeeper\apache-zookeeper-3.6.0-bin\bin 路径,双击 zkServer.cmd 文件来启动zookper 出现如下说明启动成功

这时候就可以启动dubbo-domain 了,出现下面说明启动成功

然后再浏览器访问 ip:自己配置的端口 回车 输入 root 密码也是root, 就会出现以下页面

下面开始创建工程,写demo。
在IDEA创建父级项目 如下



然后删除没用的文件只留下如下图文件夹,不删也没事,不过太多看着太乱。

然后在pom.xml中引入如下

版本尽量相同,有时版本会有冲突,分别声明dao层实现和service 接口


这个项目只是来声明接口和dao层所以不需要有接口。
下面来创建子项目 app-provider
选中项目右键 new -> model -> 其他过程与上面一样只是在声明路径的时候放到与上面项目同级即可,如下。

删除无用文件夹后如下。

Application 启动配置类如下:

配置文件如下:

注意点:
有时dubbo版本不一样有的可能EnableDubbo注解没有,那就只配置 EnableDubboConfiguration 即可。
service实现类的service注解 用的是 dubbo的,可不是spring的, 切记
然后启动本地zookper , 启动 dubbo-domain 。启动项目,不报错的情况下去dubbo-domain查看是否有服务注册,有则证明服务提供者搭建成功,下面开始搭建服务消费者
与app-provider 相同方式创建 app-client 。删除无用文件夹之后如下图结构

controller 如下

启动类如下

配置文件如下:

然后启动 app-client 不报错的情况下,去浏览器访问controller,访问路径别忘了带servlet.context-path的值。 返回 hello word 说明搭建成功
必须要看的下一篇: https://www.cnblogs.com/qiaoyutao/p/12765818.html
SpringBoot + Dubbo + Zookper 整合的更多相关文章
- Springboot+dubbo+zookeeper整合
本想自己搭建一个Spring+dubbo+zookeeper整合好的框架,想寻找个最佳实现但是遇到各种各样的问题,只好自己看看dubbo starter的源码 整理如下: 通过打上断点来看配置的对不对 ...
- SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用
为什么要使用分布式系统? 容错 减少延迟/提高性能 可用性 负载均衡 总而言之,其实目的只有一个,”用户体验“. 什么是分布式系统? 分布式系统是由使用分发中间件连接的自治计算机组成的网络.它们有助于 ...
- springboot+dubbo之多端口注入服务
前面介绍了,springboot+dubbo基础整合,这篇介绍多端口注入服务. springboot使用@Bean注入dubbo服务,当你是单一的ProviderConfig实例,dubbo的@Ser ...
- 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务
来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...
- 一次简单的springboot+dubbo+flume+kafka+storm+redis系统
最近无事学习一下,用springboot+dubbo+flume+kafka+storm+redis做了一个简单的scenic系统 scenicweb:展现层,springboot+dubbo sce ...
- 使用 SpringBoot+Dubbo 搭建一个简单分布式服务
实战之前,先来看几个重要的概念 开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo.RPC.分布式.由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以 ...
- SpringBoot&Dubbo&Zookeeper远程调用项目搭建
序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...
- SpringBoot与Mybatis整合方式01(源码分析)
前言:入职新公司,SpringBoot和Mybatis都被封装了一次,光用而不知道原理实在受不了,于是开始恶补源码,由于刚开始比较浅,存属娱乐,大神勿喷. 就如网上的流传的SpringBoot与Myb ...
随机推荐
- 9.Vue之webpack打包基础---模块化思维
主要内容: 1. 什么是模块化思维? 2. ES6包的封装思想 一.什么是模块化思维呢? 现实工作中, 一个项目可能会有多个人同时开发. 然后, 将所有人开发的内容, 合并到一个文件中. 比如: 1 ...
- 抽一根烟的时间学会.NET Core 操作RabbitMQ
什么是RabbitMQ? RabbitMQ是由erlang语言开发的一个基于AMQP(Advanced Message Queuing Protocol)协议的企业级消息队列中间件.可实现队列,订阅/ ...
- HDOJ-1043 Eight(八数码问题+双向bfs+高效记录路径+康拓展开)
bfs搜索加记录路径 HDOJ-1043 主要思路就是使用双向广度优先搜索,找最短路径.然后记录路径,找到结果是打印出来. 使用康拓序列来来实现状态的映射. 打印路径推荐使用vector最后需要使用a ...
- 清华大学-成绩排序(排序+解决MLE问题)
成绩排序 成绩排序 这里需要注意的就是超内存的问题. 解决方法就是通过指针的方式,每次动态开n大小的内存,而不是一开始就分配. #include<bits/stdc++.h> using ...
- 【秒懂音视频开发】05_Qt开发基础
控件的基本使用 为了更好地学习Qt控件的使用,建议创建项目时先不要生成ui文件. 打开mainwindow.cpp,在MainWindow的构造函数中编写界面的初始化代码. 窗口设置 MainWind ...
- 我与FreeBSD的故事之三
联想G400 是我在国美电器线下买的笔记本.我什么也不懂,就随便买了,不随便也不行,谁都知道只要不是那种特别的奸商,基本上货物都是符合价值决定价格这个基本的经济学规律的.所以没钱就失去了选择的自由.到 ...
- HDU_3746 Cyclic Nacklace 【KMP的应用】
一.题目 HDU3746 二.分析 KMP比较好解决的一个问题:如果求一个串中的循环节? 仔细回想KMP的用法,重点是next数组,相当于就是后缀和前缀的比较,那么不正是方便了我们确定循环节? 如果以 ...
- unbutu系统扩展磁盘大小
建议下载一个可视化工具,这样的话就更不容易出错 sudo apt install gparted 在终端中运行这条命令就可安装可视化工具 fdisk -l 在终端中输入这条命令来查看自己系统所挂载的磁 ...
- JavaScript中函数防抖、节流
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14565642.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- Webpack 5 配置手册(从0开始)
针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新 ...